"as a spanish person" would have worked.
Basically - spanish isn't a noun it's an adjective, it describes a property of a noun (ex: Spanish language, Spanish Car, Spanish food, Spanish person etc...).
The oddity is that we also treat "spanish" as the proper name of a language. So "Speaking spanish" and "Speaking the spanish language" are interchangeable.
But no disagreement at all that english isn't rational.
As an aside, it's a perfectly understandable comment, it just identifies the person as non-native english speaking.