The exact number (21 million) is arbitrary. It's presumably just a rough estimate from satoshi of what BTC's value to users would be, and thus how many BTC needed to exist.
And the total amount of available units, which is 10^8 x 21 million or 2,100,000,000,000,000 units,
appears to have been chosen in order to make it almost impossible for 1 satoshi to be worth
more than one US cent was worth at that time.
Since users can just use smaller divisions if necessary, the current price of 1 BTC (which is basically 100,000,000 units) doesn't matter that much.