Regarding the stack exchange expalination, I see a circular reference: he could have adjusted block reward to get different total amounts. What if started with 100 BTC as first reward? Or 60? We would end up having different maximum number of bitcoins. So it might be a miscalculation, or a little bit of luck, or a mi tire of the two, but I don’t buy the stack exchange post as an explanation on WHY 21 millions, rather than HOW...
So
quite right and I apologise for doubting you. Here's the real infos, showing the history:
I remember this discussion, actually.
Finney, Satoshi, and I discussed how divisible a Bitcoin ought to be. Satoshi had already more or less decided on a 50-coin per block payout with halving every so often to add up to a 21M coin supply. Finney made the point that people should never need any currency division smaller than a US penny, and then somebody (I forget who) consulted some oracle somewhere like maybe Wikipedia and figured out what the entire world's M1 money supply at that time was.
We debated for a while about which measure of money Bitcoin most closely approximated; but M2, M3, and so on are all for debt-based currencies, so I agreed with Finney that M1 was probably the best measure.
21Million, times 10^8 subdivisions, meant that even if the whole word's money supply were replaced by the 21 million bitcoins the smallest unit (we weren't calling them Satoshis yet) would still be worth a bit less than a penny, so no matter what happened -- even if the entire economy of planet earth were measured in Bitcoin -- it would never inconvenience people by being too large a unit for convenience.