The halving keeps moving up because of the ever-increasing hash rate! However, it has started to stabilize with this latest cycle.
Notice that the next halving keeps moving up? A couple years ago, it was projected to be around late May 2024. A year ago, it was closer to mid May. A few months ago, it was early May, and today, it's all the way back to April 29th!
Why is this happening? Basically, the hash rate of the network just keeps going up because better, more efficient ASICs keep getting manufactured. The Antminer S19 XP for example is 47% more efficient than the Antminer S19, and is now widely available, you can get one on eBay. As the hash rate increases, the block times average less than 10 minutes. Because the difficulty adjustment only happens once every 2 weeks, it can go for as long as 2 weeks with shorter blocks before it adjusts and gets the average back to 10 minutes. But because the hash rate just keeps growing and growing, the difficulty adjustment is constantly playing "catch up" and the block times are constantly averaging less than 10 minutes over the years. This moves the halvings back because each halving is exactly 210,000 blocks apart, which implies exactly 1,458 1/3 days if each block is exactly 10 minutes. But every 4 years has 1,461 days (assuming a leap year, some 4 year periods would be 1,460 days as they don't have a leap year), so even if it was 10 minutes per block, the halvings would move back by 2 2/3 days per halving. However, note the movement historically:
Genesis block: January 3, 2009
Halving 1: November 28, 2012 Days since Genesis Block: 1,425 Diff from 1,461: -36
Halving 2: July 9, 2016 Days since Halving 1: 1,319 Diff from 1,461: -142
Halving 3: May 11, 2020 Days since Halving 2: 1,402 Diff from 1,461: -59
Halving 4 (projected): April 29, 2024 Days since Halving 3: 1,449 Diff from 1,461: -12
So, as you can see, it was the period from 2012-2016 when the network hash rate just grew like crazy, and moved the 2nd halving back by an astounding 142 days, or about 4 2/3 months. Since then the movement has been less, almost kind of starting to stabilize. Part of that is because of the China ban on mining, which threw the hash rate off for quite a while and caused the difficulty adjustment to revise downward, which is why the latest halving is only a few days up from the 3rd halving.
Anyways, my point is, when you look at the next halving approaching, just keep in mind that the number of days are NOT set in stone, it's the number of blocks. And that depends on the (ever-increasing) hash rate and difficulty level. It all means, that the last Bitcoin will NOT be minted in 2140, but likely many years sooner.
Stack on and hodl!!!
EDIT 1: Changed the amount at "moved the 2nd halving back by an astounding 142 days, or about 4 2/3 months..." Originally it said 3 2/3.