I have used the ideas from the link How to make miner to mine only when there are Pending Transactions? in my private chain. I have a couple of questions, - How can I add custom code on the miners to do some extra verification before picking transactions? - How can I enforce all miners on my network to follow this logic?
The proper way to achieve this is to add your requirements to the consensus algorithm.
In a PoW blockchain any participant is able to mine. If your requirements are not part of the consensus then anyone can mine transactions skipping your extra verifications, as long as they are valid transactions otherwise.
In a PoA blockchain you have more control and only need for the validators to run your extra verification.