In Cozumel, we pay a marine park fee. The dive shops are issued permits to operate in the marine park and with that comes the expectation that they will follow the rules of the marine park. It is the dive shop's and, in turn, their guides' responsibility to enforce the rules. Communicating the rules in the predive briefing is key, but this doesn't happen in Cozumel. There's not much of a dive briefing to begin with. I've been in other countries where the dive guide firmly said in the dive briefing that if he sees anyone touching the reef intentionally, you sit out the second dive. Guess what?? No one broke the rules, even the photographers.
You can silt out the guy's shot or photo bomb him and he'll immediately let go of the reef