#1. Ethereum is not designed to have a fixed supply like Bitcoin is.
#2. Bitcoin, Ethereum, or any other similar cryptocurrency can always modify the rules of its own protocol. When you do this, a "fork" is created, but if you are the only one on the fork then for all practical purposes it does not exist and you can't do anything with it. This actually happens all the time in Bitcoin when two miners discover the "next block" at the same time and is resolved automatically when the next block after that is found and things settle. A random group of programmers can't just change the code and make the whole network accept it. In order to make a successful fork, you must have widespread consensus. The difference is that the participants in the protocol (miners, stakers, and nodes) are the ones making that decision, not some elected or unelected politicians. This means the change has to benefit a broad base of users. Both Bitcoin and Ethereum have had many non-contentious upgrades (forks) which altered network protocol. A lead developer for Bitcoin or Ethereum could make a new version of the software, but if it is not adopted by the majority of the network it doesn't matter and goes nowhere. There have also been some contentious forks such as Eth Classic, Bitcoin Cash, etc none of which resulted in new coins being minted on the "main chain". The majority of users stuck on the main chain, and anybody who held BTC for example during the Bitcoin Cash fork still has that BTC, even Bitcoin cash was unable to turn on the money printer. From Bitcoin's perspective, Bitcoin Cash or any other chain that isn't the main chain is not Bitcoin, it may as well be Dogecoin. It's another network running a different protocol minting different coins. You can't spend Bitcoin Cash or Dogecoin on the Bitcoin network. Anybody who tries to fork bitcoin or ethereum faces the same problem as anybody who tries to mint their own fiat money: unless they can convince other people to accept it, it's a useless endeavor. And people using the existing chain have every incentive to reject your fork.
#3. It was not "programmers" who did the fork which created Eth Classic. It was fairly broad consensus among all network participants, mainly people who mined Ethereum and provided the network's security. Some of them didn't agree with it and kept using the old code, which became Ethereum classic. It was rather contentious, but in the long run, the "main" chain of Ethereum has become inarguably the dominant one. Nobody was harmed by the split of Eth into Eth and Eth classic I fail to see what the problem is you're pointing to.