The true reason is that most of Spain is west of England, which is on GMT. Spain should be on GMT as it is southwest of Greenwich, for which GMT is named. Instead,
Spain goes by Central European Time (CET), putting it in sync with the Serbian capital Belgrade, more than 2,500km east of Madrid.So the sun rises late, in Spain, and sets late too. The classic Spanish schedule merely moves things to times more sensible in terms of "solar time."
The Spanish effectively disregard what their clocks say and let the position of the sun in the sky tell them when things should happen. The clocks say they are doing things late; the BBC argues it's the clocks, not the Spaniards, which are wrong.