Because they feared that choosing a royal or noble girl, maybe from abroad, would have made Spanish people think that the Royal family had nothing to do with Spain, democracy and the XXI century anymore.
A Spanish girl, already popular between the Spanish, who built her career by herself and whose career was a serious and difficult one seemed then the perfect choice.
The only problem with this view is that Letizia may have been a popular newsreader but she was not princess material. A commoner divorcee, even if Spanish, was not the first choice for Felipe. Isabel Santorius (when the princess bar was very high) was considered unsuitable, despite being Spanish and noble because her parents were divorced.
Juan Carlos and Sofia did nothing to show that a royal from abroad as Felipe's wife would be a problem. Infact the opposite, as soon as Felipe reached dating age, Sofia started taking him to foreign royal events hoping that, this princess, or that countess 'would catch his eye'. If there had been an arranged marriage it would have been with Princess Tatiana of Leitchenstein, both sets of parents were pushing it. Tatiana even came to spend time in Spain to learn Spanish, she and Felipe were encouraged to spend time together. Nothing came of it, they were not compatiable, with the Spanish press chasing after her when she left Tatiana snapped at them 'I don't even LIKE your prince'.!!! Sofia invited various European noblewomen to Spain, again hoping that Felipe would be interested, he wasn't.
Marry a noble, or royal was the way to keep up support for the monarchy, not by marrying a commoner. The idea being if anyone can marry a royal, why have a royal family? During the Franco era, the 2 main contenders for the Spanish throne, Juan Carlos and the recently deceased Prince Carlos Hugo both made sure they married princesses from reigning houses. (And these princesses were not Spanish!) A TV newsreader would not help increase support for a monarchy and considering the criticism Letizia gets, her marrying Felipe has not done anything to increase the support.
To get back to Carl Philip, there's no point to all the righteous indignation to his Sofia. He may marry her, he may not, he could follow the example of his Great-uncle Bertil (whose name he carries) and just live together with his 'unsuitable' partner for 30 years. (Lilian was not just a commoner, but from a poor Welsh background, had been a model and was divorced) Like Bertil, Carl Philip stays a prince and has his love as well.