The age limit is pretty much always a decision of the local promoter/venue. From my own experience with shows here in my town, each promoter/venue has to weigh a series of benefits and negatives. As you lower the age (21+ to 18+ to all ages), you incur a bunch of new restrictions at each level such as how late the bands can play, when/where you can serve alcohol (you have to create a separate area away from the stage for alcohol with ID checks at every entry point, increasing your staff costs), etc. They have to weigh the number of people they gain by lowering the age vs. the number of people they lose with added restrictions as well as added costs. A lot of 21+ people hate going to all ages shows due to the restrictions. A good example is forcing the bands to stop playing at 9pm or 10pm. If you have more than two bands on the bill, that pretty much means that each gets less time on stage as the trade-off for all ages.
For most shows I've done, it didn't make any sense to go all ages unless we knew it would net us like 25 extra people. For power metal shows with an attendance of 100-300, that's just not the case. It might net us 5-10 more people, which just isn't worth it. Sad, but true
At least, that's how it works in Minnesota. I'm assuming there are similar rules in place in other states.