but many hotels avoid any guest under 21 because of potential liability issues with under age drinking and such. Exceptions usually exist and can be made in some circumstances.
Many cities and states also have their own ordinances that may take precedence over federal law. Some cities will give hotels broader latitude with age.
My experience is that most hotels don't have a hard and fast rule with anyone over 18 unless local or state law dictates otherwise. Many hotels also are a private business and "management reserves the right to refuse service to anyone for any reason." I still see that sign in many hotels even the 5 start ones.