Take a look at my calculator tab, those numbers are not far off.
Block frequency is set as a goal by the Ethereum foundation. It’s impacted by transactions, miners and other factors.
It’s usually consistent but does steadily change over time. They usually address it with code when it starts getting out of hand.
As far as 604K being so easily divisible to your own payouts, that’s just how the math works out. If you’re solo mining, you only get paid when you find a block, so you may go a month or two before making 15 ETH in 2 days. It’s random.
It’s far more consistent if you take part in a pool though, where your work is thrown into a pot and scaled down…
Most miners like predictability and pay 1% pool fees to get it.