What happens if he refuses to accept that block, and another miner creates a block without that transaction, and he accepts that. Won't this create a soft fork, and it will be up to other miners to decide which fork to run with. My guess would be that most nodes and miners won't want the overhead of checking transactions, so it would need to be an automatic check in the core software. Spammer support seems to exerting an influence here, and that is a bit concerning.
Soft fork depend on which other peers the miner is going to be accepting transactions from. To avoid this kind of problems, a miner that doesn't reject illegal transactions may not filter transaction and that means they are running node with major concensus rules. When a miner with modified rules relay a transaction to them, they may reject it since it doesn't tally with what they have in their end.
The miners/nodes didn't write the rule, it's the influence of concensus.