I ran into this issue a number of times in the video game industry. It's not always easy, but here is a couple of ideas to consider.
Volunteers Should Manage Themselves
What this means is that you, the owner, do not manage the volunteer moderates. This is a tactic a large number of for profit corporations take in order to prevent issues down the road. I know that sounds a little much, but it's actually a good step even for instances where it's not a for profit organization.
Volunteers who manage each other can normally weave out the issues and bad apples. It dramatically reduces the weight on your shoulders as the owner while also allowing volunteers to basically empower themselves. All you need to do is find an exceptional leader, develop some guidelines and go from there.
Salvage First, Then Abandon If All Else Fails
Another common practice is to help improve someone first, then if all else fails, you have to go your separate ways.
Unfortunately, I am not a big believer in subtly hinting towards someone doing wrong and making the entire team pay for it by making them do additional training. It's better to come out and talk with the team member having a problem first, help train them to make them better and see what you have left over.
Therefore, I believe you should have an active dialog with this moderator and note any issues you have with his/her work. Be entirely open about those issues, but also reinforce that you want to help him/her do better because you WANT to keep them as a volunteer for as long as they like.
If they are a team player, they will be on board and hopefully excited you care enough to notice and willing to help them do better. If not, then it's likely not a risk you should be willing to take for someone who does not want to be a team player and improve.
After additional training, put the team member back into motion and have a review after a set amount of time. During this review, you should ensure to note any improvements in areas even if others don't improve. That way you can potentially assign the team member to only the areas they improved in so they can continue being a volunteer.
All Else Fails
If nothing has changed and if things have actually gotten worse, then you have to consider removing their volunteer status. Again be clear and open about the reasons why, thank them for their hard work and try to move on. Keeping them on board will likely only ignore the issues and potentially influence other volunteers to do the same. Acting on the issues and being a leader is more important to ensure a thriving robust community of players and of course volunteers.