Actually, I fully fine with raising it to 21 to buy any gun. Really am.
That said, if you have to be 21 to take part in a Constitutional right, then they need to raise the age to vote to 21, the selective service act should go to 21, 21 to buy tobacco etc. Keep it simple, make it all 21.