calling a Canadian an American
Nothing wrong with that, we are. So are people from Mexico, the USA and Greenland. Geography seems to be a lost science.
Oh, and that's just North America - don't forget South America.
The problem is those people from that small part of the American continent that calls itself the United States of America, don't have a distinct collective name for themselves.
Several single-word English alternatives for "American" have been suggested over time, including "Usonian", popularized by Frank Lloyd Wright, and the nonce term "United-Statesian". The writer H. L. Mencken collected a number of proposals from between 1789 and 1939, finding terms including "Columbian, Columbard, Fredonian, Frede, Unisian, United Statesian, Colonican, Appalacian, USian, Washingtonian, Usonian, Uessian, U-S-ian, Uesican, United Stater."
Nevertheless no alternative to "American" is common in English. The only known language to have universally accepted Wright’s proposal is Esperanto, calling the country Usono and the citizens Usonanoj.
Somehow I'm personally attached to "Colonican" and I have many Colonican friends. But that's just me.