As far as I'm aware, almost all TLDs allow for two-letter domain names, such as "is.gd" and "az.com". Why doesn't the .US TLD allow the same?
You're actually wrong that they aren't accepted; they're just not available to you.
The ultimate answer is probably along the lines of "those are the rules and you have to deal with it" but at least one likely reason is that it keeps room open for things like locality-based domains. This appears to be the relevant bit of documentation laying out the naming conventions for .us, but I can't immediately find something that explicitly locks out any combinations that aren't already defined.
You might be tempted to argue that the two-letter combination you want doesn't correspond to a state, but that's only true right now. If you registered such a theoretical domain and in the future a state joined the union whose abbreviation conflicted with it, you can be pretty sure you'd be losing that fight.