"I am not American, but Mexican."
Translation:Nem amerikai vagyok, hanem mexikói.
Yes, in the sense of American from Americas, but not American as from USA.
Hungarians call all people from Netherlands as Hollandic, even though Holland is just a region in Netherlands. That's an example of the reverse.
So it's better to accept these errors, or let rename USA to Usonia or something.
[Native Hungarian here] "vagyok" could only be optional, if the context had already used some form of this word. E.g. - Te amerikai vagy, ugye? (= You are American, aren't you?) - Nem amerikai [vagyok], hanem mexikói. (= [I am] Not American but Mexican.) In your sentence, it is the subject (én) that can be omitted.