In my dc's school for the year 2 play they asked the children what they wanted to be and if more than one wanted a part which couldn't be multiplied, then they drew names out of a hat. The most contested part was a non-speaking donkey. Ds was very smug to get that. I think they did offer him to say "clipperty clop" and he refused.
I think he was an innkeeper saying "go away" one year, and in the year 6 play he had one line. Rest of the time he was bored chorus.
Last summer, 10 years later, he performed a good sized part in an adult play to about 5k people over 5 days. so it obviously didn't limit him.
But actually I do sort of agree with the OP. When I was at school there were loads of opportunities. We had one assembly a term, at least one play a year (3 in the last two years), a poetry evening where everyone could put themselves forwards, rather grandly called "The Eisteddfod", and harvest festival, carol service, end of year assembly all of which would have had 1-2 parts per form, and the leaving assembly.
My dc had one assembly a year, one Christmas play (done across the year with at junior level around 80% of the children with no part due to how they cast it) and a leaving show. That was it.
There were many children who never had a line to say over the junior years.
The plays used to particularly irritate me. They'd have 150 kids, and give one shepherd 20 lines. Why not with that number give 20 shepherds one line? That's 19 happy children, and the shepherd with 20 lines inevitably forgot at least one and got upset too.
They even had one show where we had a break of 10 minutes while the main cast, of 15 children, changed into a different costume and 135 sat there in school uniform and yawned.
When I've done plays with children (not in school), I've felt it's really important that every child can go home and say "my part is X and I do X".
That's how I think they should be doing it. Does it matter if they have 15 angels? No. Give 10 of them lines, and the 5 who don't want/can't manage lines something important to do like carrying a star or handing baby Jesus over. It's easy with a little imagination and knowledge of the children.
I remember one time a little one saying she didn't want lines and we gave her the part of being a shadow, which she did brilliantly. She then said she'd like a line about a week before the show, so we said she could say "goodbye everyone - oh I can speak now!" at the end and she was so pleased. The next year she wanted a full part, which she did very well.