Why is that?
Because the time of the block has to be strictly greater than the Median Time Past the last 11 blocks. Which means in practice, that you can put the same second in the last six blocks, but in the seventh block, you have to move forward by one second. Which means, that even in regtest, when you mine blocks on your CPU, and when every second block (on average) will give you a valid block header, then still, you will not produce more than 7,200*6=43,200 blocks per two hours, no matter how big your hashrate is.
they will be accepted eventually when the node's adjusted time moves into the future
1. The rest of the network will produce next ASIC block faster, than you will submit millions of CPU-mined blocks.
2. Other miners will produce their own CPU blocks in the meantime, and there is no point in submitting blocks faster, than they are practically accepted by anyone (because your CPU-mined block will bring the same chainwork as anyone else's CPU-mined block).
3. Producing 2016 blocks with CPU difficulty will give you much less chainwork, than a single ASIC block (as long as network difficulty is bigger than 2016). And after reaching the nearest difficulty adjustment, you will be forced to mine a single block with ASIC difficulty, even if you somehow find a node, which will accept blocks with timestamps one month away from the current time.
So yes, you can produce long offline chains, but network rules will stop you from submitting them. And coins are worth something, if they are accepted by other nodes, because only then you can for example sell test coins, and get mainnet coins, and abuse the network in practice.
And practically speaking, if you produce 2016 blocks with CPU difficulty, then your attack could be successful, if everyone else would produce no ASIC blocks for one month, which is possible in theory, but very unlikely to happen in practice.