Well, everybody born in the american continent is technically “american” too, including Central and South America. Is there a specific term in english for these people?
Edit: Thanks for all your answers, especially the wholesome ones and those patient enough to explain it thoroughly. Since we (South Americans) and you (North Americans) use different models/conventions of continent boundaries, it makes sense for you to go by “Americans”, while it doesn’t for us.
In my experience living in Ireland and traveling to other English-speaking countries you're at least as likely to be called an "American" as you are "yank."
The reason why is that it dates back to the British Empire and the fact that British subjects lived in the "American" colonies for at least 200 years before they gained independence. By that time the usage in the British Empire, of referring to people from the "American" colonies as "Americans," was pretty well baked into informal English usage and it never really died out.
Linguistics doesn't tell us how language should work in a prescriptive sense, it just tells us why it works and how it's used and why every language we know of is full of logical inconsistencies, especially English.