Niti, what works for us is that for every behavior we don't like, we devise and teach a replacement behavior.

For instance, if a statement is said rudely or with a whine, we ask him to "say it sweetly," which he knows applies to both tone and content. Good behavior is also rewarded; but we had to make the expectations very explicit first.

If the fault finding is with objects (fixing? cleaning?) it could be addressed with a "what shall we do about it?" and teaching him skills to make things better himself. If it's people (this is harder), he needs to be taught how to state his grievances inoffensively.

The nonstop talking: does he know the nonverbal cues for when you want to be talked to, and when not? This might need a roleplay, and then gentle reminders for him to use the nonverbal information ("look, I'm reading right now. Is this when I want to talk?").

If you want to go the professional route, some speech therapists work on issues like these.

HTH,
DeeDee