Why do bitcoins have a total limit? There are a total of ~16 million bitcoins in existence, and 21 million
  total will be available. Therefore, there are ~5 million bitcoins
  still to be mined from now until around 2140. How much bitcoin is left
  to mine? - ...


Source:
https://www.quora.com

Why does nobody can mine any bitcoin after 2140? Given this information is true?
The number of newly-created bitcoins with every mined block gets halved every 4 years on average. (More precisely, every 210,000 blocks). When bitcoin started, this was 50 new coins per block and currently it's down to 12.5 coins. This halvening creates a geometric progression which converges to the theoretical maximum number of bitcoins that can ever be mined, which happens to be 21 million.

Mathematically:

50 + 25 + 12.5 + 6.25 + ... = 100

100 × 210,000 = 21,000,000