Basically how localization works is you have a primary language (sorry, no way around that). And you can optionally show that default language if the current page is not translated into the user's preferred language.
So for your Spanish pages, if you do not wish it to show any page if not translated, then you need to go to settings - Content - Multilingual and uncheck "Combine with default culture"
That does mean that if the user is UK english and they are on a page that is only translated in US English, they will get a 404, but there's not much of a way around that.
The other 'option' if that really is the case, and i've done this with one of the sites that has mass regionality, is we only have 1 primary language culture (ex: us-EN for all english languages), and we have a separate custom "Region" attribute that can alter things like Measurements and Date formats, however it's a bit tedious to set that all up unless it's needed.