The candidate has made it clear that they no longer wish for me to contact them
Then do not contact them. If someone tells you that they don't want you to bother them, and then you continue to bother them, you will only make matters worse.
but my client is very interested in bringing them on.
You are not the only recruiter in the world. It might be possible for one of your colleagues to reach out to the candidate, but even that might be difficult if your interaction has soured the candidate on dealing with your company or your client.
Also, the person in question is not the only candidate in the world. If you want to fix your problem with your client, one route would be to find another well-qualified candidate. Or better, several. If the client insists on the original candidate, you may have to explain that they've declined to discuss the matter further with you.
Yes I know that another recruiter should contact them this time, but I would like to have a chance to solve every problem that I've made. Seeing everyone misunderstands each other makes me feel bad.
It's not about you or your feelings. Take this experience for what it is and learn from it. Be more careful and do a better job in the future.
It's great that you want to solve problems, but you also need to know when to get a hand from the rest of your team. From your company's perspective and that of your client, the thing that matters here is creating a positive relationship with the candidate, and that's something that someone else who doesn't have your history will be able to do much more easily.
I also understand that sometimes you should let it go
Perhaps you do, but you don't seem to understand when you should let it go. That time is now.
How can I set this situation right for my company, the client, and the candidate?
You can't erase whatever happened, and you can't force a potential candidate to listen to you, or to give you another chance. There's likely nothing that you can say short of "I'd like to offer you 10x the market rate" that will magically cause this person to become interested in any job. So, the best way to move forward is to take yourself out of the picture.
Perhaps the best thing to do is to get help from your manager or a more senior colleague. Explain that you expressed yourself awkwardly and inadvertently created a situation where the candidate does not want you to contact them. Say that you realize that further contact from you would only make an unfortunate situation worse, and suggest that since the client is still interested in hiring the person in question it would probably be best if further contacts came from someone else.
This is not the last time this will happen. As a recruiter, you're going to deal with many people every day. Your interpersonal skills will improve over time, making you less likely to put your foot in your mouth. Even so, you'll be dealing with all sorts of people in all sorts of personal situations, and some of them will misunderstand you, won't like you, or will just be annoyed at being bothered by any recruiter. There are many, many bad recruiters out there who treat candidates like products to be sold. It will happen from time to time that someone reacts badly to you not because of anything you say, but because of their experience with some previous recruiter. And this probably also isn't the last time you'll screw up somehow — if you have enough conversations with enough people, chances are you're going to say something dumb at some point. Either way, you need to learn to take what you can from those experiences and move on. You're not going to last long in your job if you take every bad interaction personally.