1+2: Yep. I know that. But you still aren't understanding the issue.
It is just an issue of precision and old connotations. "New Yorker" is most used for people from NYC, and for that reason, people from other parts of New York State simply do not refer to themselves as "New Yorker". It would be imprecise and just cause confusion.
South Africa is a country in the South of Africa, similar to how USA is a country in North America. Both have demonyms that could be used elsewhere if those countries did not exist, but becuase they do, it will only cause confusion if you use them while not being from that country.
3. I disagree because of all the above reasons I have been saying. "American" for too long has meant "from USA" to be precise enough to describe someone from elsewhere on the American continents.
4. That's the issue. As I said, at least when they are speaking in English internationally they should be a little more specific (ex: "North American", "South American"). That way they would not be using the demonym which is only used specifically for a country in much of the (English-speaking at least) world.