If the ISO country code is "gb" instead of "uk" on the basis that "United Kingdom" is a generic form of government designator, like "Republic", then why is it that the country code for the United States of America is "us" instead of "am"?
That designation would make more sense than designating the United Kingdom as .gb, because Brazil was once (it isn't now) Los Estados Unidos do Brasil, on the one hand, while no one else is a United Kingdom, and, on the other hand, the United Kingdom of Great Britain and Northern Ireland definitely includes a place that isn't part of Great Britain, it is only the Americas, and not America, that is bigger than the United States of America.
However, I am forgetting one thing. While the distinction between "the Americas" and "America" is hard and fast and utterly ambiguous in English, in the Romance languages it is nonexistent. And, of course, ISO is an international organization. So I can see why they would strongly resist .am while not caring about .gb .