Asssume that such 1-month attack happens, its cost will be about $4,250,952 ($590,410*24 hours*30 days).
You've missed a few digits there. Using those numbers, the cost of a 1 month attack would be $425 million. Although you should also factor in that an attacker who manages to overturn a month of blocks would gain 27,000 BTC in block rewards (plus potentially fees if they chose to include other users transactions in their blocks), which at current prices would give them $280 million, so lowering the cost of a month long attack to around $145 million.
I looked at that site (crypto-5-1-.app), but couldn't find their exact methodology... They just say they base their calculations on nicehash's prices...
I'd be weary of taking these numbers at face value without seeing the underlying calculations...
In the rest of my post, i'm going to talk about length and height, but in reality it isn't the longest chain that wins, but the chain with the highes cumulative difficulty (the chain that required the most work). It's perfectly possible to have 2 chains: one with a lenght of 10.000 blocks, and a second one with a lenght of 11.000 blocks, but still your 10k chain could be the winner.
Now, did crypto-5-1-.app take into account you only have 51% of the hashrate? This means that 49% will keep on working on the "honest" chain.
This isn't an issue when you try to do a 51% attack on the last block because you'd be able to start at the same time as the rest of the network:
For example: i'm a thief... I pay a user when the current blockheight is (x-1). My transaction gets included in block with height (x), but i had the opportunity to start working on an alternative chain when the blockheight was still (x-1). If i have 51% of the hashrate, i have a 51% chance of finding a block for height (x) before the rest of the network can. If the rest of the network is first and move on to (x+1), i still have a decent chance of catching up in a relatively short time.
I
But... When i try to reverse the last (let's say) month: I'd have to go back to (x-4464) => 6 blocks/hour * 24 hours/day * 31 days/month.
By the time i reached height (x), the rest of the network would have reached height ~(x+4374). Oops
I have to catch up to those extra 4374 blocks as well... But by the time i reach them the "honest" miners will have added (on average) an other 4286 blocks.
I have to catch up to those extra 4286 blocks as well... But by the time i reach them the "honest" miners will have added (on average) an other 4200 blocks.
I have to catch up to those extra 4200 blocks as well... But by the time i reach them the "honest" miners will have added (on average) an other 4116 blocks.
...
With only 51% of the hashrate, it'll take me years to catch up... If, by the time i caught up, i get the network to accept my longest chain (witch will be allmost impossible), i will have effectively removed all profit for all miners for years and years, i will have rewritten so much history that bitcoin becomes worthless...
When you talk about re-writing more than a couple of blocks, everything becomes variable... I mean, you'll have to start looking at the difficulty, at the mempool, at the resell value of your gear, at the effect your actions will have on bitcoin's value,...