German and French are actually more popular than you'd think from exam entries. There's loads of people on TSR alone who want to do A-level German but couldn't because there weren't enough people in their school to make the budget break even.
But the reason why classes are so small to start with... It's complex, but I suggest: image. Spanish is popularly viewed as "easier" than French (because the Spanish pronounce the letters they write down, for one thing!) and as a practical "sexy" language, whereas French is seen as posh. Spanish is also seen as easier than German (which has cases) and doesn't have the image problem that German does. Every 13 year old in the country knows the name of Germany's late unlamented fascist leader last century. But I would be surprised if more than 10% could name Spain's.
When people pick GCSEs, an important consideration is always going to be "which is easiest". The next question is "what is most useful" and a lot of people think the answer to that is the same as "which one has most speakers?" The answer is much more complicated than that, and includes factors such as economical strength of country, where you want to work, diplomatic status (or lack of) and so on.
Spanish is also becoming more popular, because of America's influence. If you are an English-speaking citizen of the USA, Spanish is the most logical language to learn next. This is why American children's programmes like Dora the Explorer feature Spanish. Twenty years ago, British children would have watched Tots TV (featured French). Now, it's Spanish Dora. Which makes them more likely to pick Spanish later on.