How come the block reward keeps only getting halved but there is an upper limit for bitcoins in existance?
This is more a math question, but basically, the sum is a geometric series:

https://en.wikipedia.org/wiki/Geometric_series

1/2 + 1/4 + 1/8 + 1/16 + ... = 1

That's basically what's happening here except with 21 million instead of 1.