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.

Maybe you try to hack the system.
In the past Bitcoin was hacked and the hackers, maybe hacker made a lot of Bitcoins. It is not done again but we all know that it is hard since that years and no one had been able to hack again is a proof it is hard. 21 million is enough, though not accurately 21 since there are a lot of of them lost in the void and some forgotten.