I would do this behind the scenes one of two ways, depending on the nature of the report and person who reported it.
For users who are trying to be helpful
I actively encourage them by thanking them for their time and guiding them to the established procedures. When they use them, I say thanks again, that was really helpful, it's people like you who allow the site to run smoothly. You could say just what you said here, I think that explains how helpful it is very clearly.
Some people won't ever quite get the right way to do it; when this happens, if I think they're trying and their posts aren't disrupting the forum, I just let them be.
For users who are trying to make a public point
Sometimes users will try to shame others into not posting rather than reporting. In these cases, I apply any posting guidelines - ours don't allow personal attacks or "trolling, goading or misleading" so anything like that would be deleted. The poster gets a briefer and less overly friendly email reminding them of forum guidelines and asking them to report posts the correct way so the team can handle it. Our our site, these types of situations usually aren't the result of reported users not following the published guidelines, but instead be more of a personality or posting clash.
It's been my experience that this type of user can be super helpful outside the specific sore point, so it's a balance between encouraging them to continue that and letting them know that inappropriate behaviour will not be tolerated.
--edited from here--
As per the comment, these are some more general ways on the site I guide reporting and behaviour. These are more specific to individual communities, so your implementation may vary. :)
Put clear guidelines in a sticky post and in the sidebar
These are mainly so they're there and you can point or link to them. As you said, no one really reads them. You've already done this, so I'm really just including for completeness and because I refer to it below.
I post on threads where people have piled on a bit but don't call individual users out. Most people will check threads they post on for followup comments, so you can get them there. A lot of regular users subscribe to individual topics/threads on my site, so will receive this via email, too, and therefore be sure to see it. The key is to make sure the right people read it.
How you do it will depend on your community and how people keep up with posts and comments! On reddit, you might make regular-ish posts that show up in people's subscriptions, too.
I don't do this very much as it breaks the flow. However, sometimes that needs to be done. Here is a sample post -- I've combined what I say and what you said above:
Hi! Just a reminder of our reporting guidelines [link to guidelines or the sticky post above]. If you have an issue with someone posting something you feel is unacceptable, we ask that you let us know rather than taking it up with the poster here.
If a post is reported directly to the subreddit moderators, we can take action to prevent future misconduct at the subreddit level. We can monitor the offending user, block spammy domains so the user can't create new accounts to continue spamming, etc. We even have some automation in place that escalates notifications to moderators after a certain number of reports on a post, and automatically removes a post after a much higher threshold.
Thanks for your help, we want to keep this as friendly and helpful as possible! We know that sometimes procedures aren't clear, so if you have any questions, please ask at [wherever they go to ask]
Get established users on board and ask them to help
When someone is reporting correctly, I thank them and ask them to point people in the right direction. The key is to not ask people who will be mean about it and get what I'm trying to do.