A single miner can tamper with a block as much as they want, changing block award or difficulty or double-spending, but such a block will not be accepted by the rest of the network. This implies that the rules of how the network will operate are decided upon by the nodes in the network.
Bitcoin network needs to reach a Consensus to accept a specific block. As long as more than half of the nodes of the network are "good" ones, the tampered block will be rejected. As the consensus mechanism will always favor the majority of the participants in the network.
Now you ask who is responsible for deciding this. Well, this functionality is implemented by the Blockchain P2P Network.
The consensus mechanism makes sure that the nodes in the network 'play nicely'. If there's a malicious node that tries to tamper with the block by validating false transactions, he would require to spend a huge amount of computational power. And the rest of the nodes in the network will reject his block during verification. So, his efforts, energy and resources all go to waste. So it's only logical for all the nodes in the network to play by the rules. Also, the nodes which validate transactions and create blocks are incentivized to stick to the rules in order to keep the network running and receiving the benefits of being a part of the network