I think it's an American problem of treating 18 year olds like 14-16 year olds. Same goes for drinking. Why can't we trust (young) adults like other countries do?
Because higher drinking age leads to less drunk driving (in the US, at least). That's the reason the drinking age is 21. Unfortunately.
If we had a culture of responsibility around alcohol consumption, we wouldn't have such a problem.
Interesting, some states are raising the age for cigarette purchasing to 21.
This may be the cause of a poor or non-existent public transportation system. Once you have an efficient public transportation, you have alternatives to reach home after having drinks. Otherwise, it's your own car or Uber which is an expensive option.