If the medals were award the way you mentioned, it would be better for spectators in the sense that the level of competition would be elevated in the Bronze medal game, but it really wouldn't be fair to say give Sweden the Bronze after they've already played and beat Finland 2-1 in the semi-finals.
Heh, might not have thought about the layout of that enough. I guess, it just seems wrong to give out a silver to the losing team. I do like the 2 silver method. Another way you could do it if you didn't mind having more games (and it prevents the gold medal match from being the last one) is to the have the loser from the gold medal round play the winner from what would be the bronze medal match, winner takes silver. Then the loser from that match, and from what would be the normal bronze medal match play for bronze.
SemiA winner and SemiB winner play for gold in FinalA.
SemiA loser and SemiB loser play each other in SemiC. (this kind of throws off the naming conventions, just go with it)
FinalA loser and SemiC winner play for Silver in FinalB.
FinalB loser and SemiC loser play for bronze in FinalC.
It's a bit laborious, and you could have teams facing each other again, but it means that every medal can only be earned with a win. As a spectator sport, I think that not having the gold medal match go last might be a bit of an issue though.