The biggest problem is that as Bitcoin grows and the halvings continue, the ratio between the security budget to total value being protected trends downward over time. It becomes more and more profitable to attack Bitcoin or to execute minor harassment attacks to lower Bitcoin efficiency that can be done at 10% of the total hash rate (like censoring exchange transactions or producing empty blocks).
If the security budget no longer enough to sustain miners because transactions fees aren't high enough, the miners may choose to fork the chain to get rid of the supply cap so that they can remain profitable.
If this happens, the split chain would have all the largest miners, who could attack the 21M supply-cap at any time.
There's really nothing the 21M supply-cap chain can do to prevent a 51% attack without making Bitcoin's security even worse. They can't change their mining protocol without cause all miners to abandon the change.
I suppose they could switch to Proof of Stake like Ethereum, but the community doesn't want to discuss that possibility. Getting rid of the supply cap is the easiest solution to fixing Bitcoin's long-term problems.