and now we are in 2021 and the technologies in mining are more able than before, and we need 119 years (2140-2021) to mine only 2.5 million Bitcoin (21-18.5) ?
This is what the difficulty is all about it, technology is irrelevant to the supply of bitcoin, the more advance it gets - the harder solving the blocks will become, so be it a fancy quantum computer made by a unicorn outside of our Milky way or a bunch of kids solving the blocks using a pencil and a paper, the new-supply will remain more or less the same.
And since the "speed" of finding blocks is almost constant (10 mins to each block), the reward halvings cause the deflation of the new supply, the keyword to your question here is (deflation).
Now that we got that out of the way, let's do a bit of math
In the first 4 years (it's based on blocks but let's just say 4 years for simplicity) every 10 mins 50
BTC was created, so every day 144 blocks each have 50 BTC was created, so that was 7,200
BTC a day, or 216,000
BTC a month.
Today after going from 50>25>12.5>6.25
BTC the block reward now is 6.25
BTC, so as opposed to creating 7,200
BTC a day, we only make 6.25*144 = 900
BTC a day, in the next halving we will only be able to create half the amount, eventually it will take months to generate 1 bitcoin and then months to create a fraction of bitcoin.