If n is huge, eg 2 to the power of 1000, then we would need to pay that sum to play. However, it is still a fair game. Why it does not seem fair is because most of us are risk-averse, ie we would not pay an astronomical sum given that we are likely to win only 2, 4 or 8 dollars. This is a psychological factor, as mathematically, the game is fair. It is fair because if we played any variant of the game a very large number of times then we would expect to break even.
So the calculation of adding a dollar for each successive toss is fair. The problem is, as usual, with this thing called infinity. In practice it is not possible to play the infinite version of the game in finite time.
The paradox is due to our faulty understanding of infinity. The best definition I have heard of infinity is, "a quantity larger than any number you care to name". If we adopt this definition then the wager makes sense. We pay "a number larger than any you care to name" and we may win "a number larger than any you care to name". In other words, both the fee to play the game and the possible pay-off are without limit. We should not see infinity as being a specific value - it is not a number like 10 or a million. Infinity is simply unbounded.