There could have been no rational justification for the choice of the initial block reward and its evolution over time, nor for the maximum number of coins -- although these parameters are obviously linked. Arbitrary for arbitrary, halving the rewards at fixed intervals was chosen because it was the simplest schedule to explain and implement.
The next decision was to limit the number of atomic units (satoshis) to about 2^51 - 1 = 2'251'799'813'685'247, which is the maximum range of integers that can be safely manipulated in IEEE double-precision floating point without rouding. That would allow any bitcoin accounting to be done on an Excel spreadsheet without losing a satoshi. (Excel, and many other programs, use double-precsion floating point for all numbers, Most computer nerds would never have tought of that. They generally avoid floating-point because of its complicated rounding, and would have picked 2^63 or 2^62 instead. But Satoshi obviously was not a typical computer nerd, knew how Excel works, and knew how to use FP without rounding.)
Once fixed 2^51 a limit for the max number of satoshis in the system, Satoshi had to choose the initial block reward and the halving period. 50 BTC is not a round binary number satoshis, but it is a nice round number of BTCs. WIth that initial reward, the halving had to be every ~210'000 blocks, to keep the total number of satoshis below 2^51. It was rounded to 210'000, meaning that the total will be a little less than 21 million. If the initial reward had been set at 100 BTC/block, for example, the halving period would have had to be ~105'000 blocks, or about 2 years.