Is there anything to stop the core devs saying we want unlimited bitcoin and changing the code to allow it. I mean, 21 million isn't much.

This cannot be changed by the developers.
If a decision like that will be heard we will possible have a hard fork and two separate chains.
And also 21m isn't much but this is said to be the main advantage of Bitcoin. Scarcity is a good thing for the cryptocurrency industry.
Of course it can be changed by DEV. The coding team wants it for any reason to make more BTC, the miner support new wallet. et voila 10x more max bitcoin.
The community has nothing to decide in Bitcoin, as far as the big mining pools and DEV agree.
Do you know who do you mean with name of dev? So far i know, They can not change the maximum supply of bitcoin i.e 21.000.000 virtual coins. Dev only do developing chains of bitcoin (blockchain), halving, etc.