a) Language barrier — Spanish is only the fifth most spoken language in the EU, with only 15% speaking it as a first or second language (around half of whom are Spanish citizens);
b) Lower salaries on offer (as others have noted) as opposed to working in the UK, Germany, or France;
b) Given the economic situation in the country, and high levels of unemployment, Spain isn't anywhere near as attractive to skilled migrants as the other leading EU economies.
When I was last on Iceland, I met a handful of professionals working in software engineering and engineering - all but one of them was from the EU (a few from Spain). Anecdote, sure, but I got the impression a lot of businesses on Iceland hired various foreign workers (not to the exclusion of Icelanders, just to fill in a shortage of skilled workers - perceived or real). And then there's Norway, which participates via the EEC, but isn't an EU member. And the UK has made some noise about getting a similar deal.
Europe is composed of different countries with vastly different languages, cultures and economic conditions. Just because they're technically "joined" together via treaties doesn't mean labor is going to naturally distribute throughout the union.
Economists from around the world were adamant that the Euro was a terrible idea when it was founded. Binding dozens of wildly differing economies to one currency controlled by one central bank has always been a pipe dream, but it takes decades for it to start to unravel.
Maybe that was stupid, but it's a different kind of stupid than not listening to the economists.
They opened the door a bit to the former legally but didn't force the issue sufficiently to make the numbers work, nor did they let economies collapse in ways that cause large-scale migration (preferring to buoy them up with unsustainable debt). They did little towards the latter.
This was inadequate, and caused a massive, entirely foreseeable debt crisis because the ability to print money for the use of a single national economy that desperately needs inflation, was lost. The thing that the Eurodollar politicians were trying to force the 2000's politicians to do, did not come to pass.
Use the term 'unfilled at the listed salary'.
The NHS doesn't pay really well. Nurses brought from South Europe are getting offered between £23k and £25k, including for hospitals in London zone 1.
That makes me doubt that many nurses poached from Spain were actually employed.
Source: Someone close to me is a Spanish nurse working for the NHS :)