How can you say that there is no thing such as a home advantage in this tournament? This tournament is in Germany, Germans are going to play on their own stadium, in their own country, in their fanbase, in stadium that will be full of their own people. This is a huge advantage, especially mentally. You feel like a king in your own home and you don't feel that way in someone else's house.
Also don't forget that the referees might give an advantage to Germany, even though the referees comes from England, but we don't know what behind the match. When Germany beat Switzerland on the round of 16, Switzerland's manager complaining if the referees judgement isn't fair.
On paper, Spain is better than Germany, but by having those advantages really give Germany a high chance to not lose, at least ends in draw.
In the match with Denmark the referee also as it seems to me judged in favor of the German team. First there was an incomprehensible decision to stop the match because of rain, although neither before that moment, nor after, no one stopped the matches, and then when the Danish team scored a goal, it seems to me unfairly canceled, because Danish player was in passive offside and did not even touch the ball, and the Danish player scored after the German player failed to clear the ball and actually rolled it to the Danish player who scored a goal, and then the referees gave a penalty to the Danish player because of a finger touch.
If Spain team wants to win they needs to play much stronger than Germany, otherwise refereeing errors can tip the scales in favor of Germany, if the game will be approximately equal.