T.S.
Even if the boy wasn't emulating you, why are you calling your new husband "lazy, not very smart and not cool?" Even if the boy wasn't repeating it, you should know better than to call names like that in your family. More than damaging the child's view of his father, you risk damaging his view of families, relationships, and women.
I am sure that there was no irreparable damage done, but you SHOULD absolutely sit down as a family and YOU should explain to the boy that those kind of words have no place in your house; that YOU never should have said that about someone you love so much; and that HE should never use those kind of words about people in or out of your family.
It's time to get really conscious about your words and actions. Although, it's always important to strive to be our best selves, its especially important now that you are a parent.
Good luck.
T.