You've been really open about what you want, what you're afraid of, and why you're staying put. I think it's good to have that insight about yourself and your motivations.
I'll say again that this guy is not going to change, so if you truly feel that this is the best you can do and you plan to keep him, you really, really need to get over yourself and stop nagging, dissing, and trying to change him.
Your happiness is your choice. Married or single. I'm happy with my husband because I choose to be. Even though my DH is awesome, there are plenty of things that I could nitpick him about and make both of us miserable. And he could do the same to me.
Would I marry your fiance? Probably not, but you've managed to get this far with him so you must like something about him. Being totally honest, you sound like an unpleasant person and the way are handling your issues with him - putting him down and discussing it with his family - if he were on this board, we'd be telling him to dump you.
Basically what you're doing is hurting him and your relationship and setting your marriage up for failure. Either love him as is and be happy, or leave him alone. Don't keep him around because he's the only one who wants you and then treat him like crap and spend all your time telling anyone who will listen that he isn't good enough for you.