Before I go ahead, please keep in mind that this is personal opinion.
First the LANGUAGE:
I believe there is a reason why spanish is an ICAO language and controllers have to use it if pilots call in spanish.
AFAIK foreign language has been a problem in spain since Franco times. Few could learn foreign language and they opted for french mostly. (probably cause they are neighbours and easier to learn for a spaniard). English wasn't much appreciated back then as I understand, because the only relation they had with the british involved Gibraltar!
If you wanted to have pilots in spain and wanted them to get to learn english as well, you had trouble. Who will teach them the english. English is picking up only just now, with the current generation. Why should you speak in English in your own airspace anyhow? Only those that flew international needed the international radio operators certificate.
There are still many local pilots who dont speak English, not a single word... So the controllers are obliged to respond in spanish to those pilots who make the first call in spanish.
The COMPETENCY;
I do not know the systems at spanish ATC, how advanced or user friendly they are, but don't judge an ATC before having that information. You all speak about how good the ATC is in N.Europe, do you also know how advanced their systems are and how much the systems support the controllers? If we can work such high traffic over here it is not
only because we are good, probably the best

, but also how much the system helps us.
Also the rules, the changes in the rules and conditions, amount of controllers and work hours per controllers, capacity... there are heck a lot of things behind..
Things probably can and will improve in spain,
afaik they are having huge increases in amount of traffic, and they are trying to adopt as good as they can.