As to what citizens of the United States of America call ourselves - I wish it weren't so, but I feel that the term American has come to mean quite clearly someone from the USA.
I have lived and travelled a lot in Latin America, and there's no question that many people from many countries in this hemisphere take some umbrage at the USA claiming the name for themselves, but it's typically quite clear what is meant.
I think perhaps this hasn't been cleared up easily because there hasn't been an obvious alternative, and we've got "America" in the name of our land, and none of the other countries on the two continents in question do. There are words used to describe us in Latin America (I'll only mention the ones used politely
), but these aren't really perfect either.
"Norteamericano" isn't precise enough, and if you assume it means a person from the USA, it slights Canada.
"Estadounidense" (as in "United States," which is estados unidos) would fit, except Mexico's full, formal name is "Los Estados Unidos de Mexico," and we've slighted Mexico enough by now, I think.
All of that said, I still tend to use one of the two options presented, so as not to offend, even though I don't feel that there would be any ambiguity in "americano."