You have to first realize that everything in bitcoin is decentralized and is enforced by the nodes. So when an individual (like you) runs a node they are enforcing certain rules known as consensus rules. When they receive a transaction in their mempool or a new block that a miner has mined they verify everything about them with these rules. If they break any of those rules (like having a reward more than what is allowed) they simply reject that block or transaction as invalid.
When a reward values changes, but not everyone hears about it,
Again things are decentralized, everyone computes the block reward on their own with the same rules. The rule is that block reward starts from 50 and is cut in half every 210000 blocks. So for example when a node receives block #1534 they know its reward is 50
BTC and when they receive block #697123 they know its reward is 6.25
BTC and so on.
E.g. a miner submits a valid PoW for their block but rewards herself 25 BTC instead of 12.5. Does that miner get a chance to fix her mistake?
Reward is claimed as the output of the first transaction in each block which is known as coinbase transaction. This tx (and anything else about the block) can not change after the hash (that is used in PoW) was computed otherwise the hash will change.