Yes, tourist-facing businesses accept US dollars (and some accept Canadian dollars and euros) to make it easy for the visiting tourist to spend money.
Every dive op I have asked has explicitly said they would prefer to be paid in cash and prefer the cash to be dollars. They also price their services in dollars. My rule is if the price is posted in pesos I pay in pesos, if the price is posted in dollars I pay in dollars. Because if it is priced in dollars they are going to get that number of dollars and if they have to convert pesos they are never going to use a conversion rate in your favor.