They may both be right, but that doesn't mean it makes sense to call both of them English.
At some stage, English will need to be defined as the language as spoken/written in England, leaving the language spoken in the US needing a different title. It's the same situation with Spanish as spoken in Spain and South America.
If you want to change the name of the spoken languages, be it English, Spanish, French (yeah there are different versions of that too) or anything else, you are going to have to go back in time and prevent the spread those languages around the world in the first place, and perhaps create a new language just for use when conquering lands and then name it what you want, for each place you invade, colonize, or whatever.
Yes, I am proposing that if you don't want your native language mutated in another land, don't bring it with you when you conquer it. The locals will adopt it, and along with those you leave behind, will change it and call it by the same name as the language you speak, because at one time it was.
Languages are named after their country of origin, not after the country they belong to, because a language can't really belong to any single country that doesn't seal off its borders and never lets anyone in or out.