Is it worth though? For whom are you fixing the issues? For the coworkers who will leave while you're still refactoring? For the charismatic boss? Your own personal pride? Also, is the work worth your overtime? If they staff "idiots", do they deserve your free time on the weekend?
I applaud you for being able to care so much in what you describe is a terrible team.