I think it's bull excrement. There should be one age of majority. Buy a house, vote, sign up for the military, drink alcohol, smoke, buy a firearm, one age. If 18 is old enough to be drafted in wartime, then 18 is old enough to be a complete adult with all rights and all responsibilities.
I personally think that the voting age should be raised to 25, which is the average age at which the human brain is finally fully developed. There probably should also be a maximum voting age, say around 80. Half of people aged 85 suffer from some sort of dementia.
As for purchasing a semi-auto, having a drink on your own or getting married, 16 sounds good to me.