Depends on how much authority you have in the company. In general, the way the code review process is supposed to work is that the code reviewer is supposed to be a "gatekeeper"; if the review isn't approved then the code doesn't get pushed to production. Even if you are a lower job title than your coworker, as the reviewer, you (are supposed to) have the power. If he says "no that's dumb I'm not going to fix my code", then say back to him "no, THAT'S dumb, I'm just going to block all your pull requests until you do what I say" (obviously not in those words, you can be more diplomatic about it, but that's the point to get across).
That said, it's possible that this coworker will just stop sending you code reviews and start sending them to someone he sees as less "nitpicky", as it were. In which case it's your job to make sure everyone on your team is as nitpicky as you are, and you should treat that as a challenge. Presumably, after 4 years of refactoring, nobody wants to do that again; explain to your boss and to your coworkers that in order to make sure that this doesn't happen again, there need to be tight code standards and everyone, including this other coworker, needs to follow them. Then, make it your boss's problem, and present it to him this way (again, diplomatically): Either he can back you up and make your coworker write good code, or he can spend another 4 years refactoring. He'll know the right choice to make.