I think because he didn’t see these people in person it lessens his consciousness about the effects on other people but the effects are on his own son let alone other people it’s right in front of his face!
Argh OP you are being so naive!
He knows exactly what effect the drugs trade has. It's not that he's somehow managed to convince himself it's ok... he knows it's not, he knows the damage it does - he just doesn't give a fuck! He honestly doesn't give a fuck.
You need to start giving more of a fuck and stop minimising his accountability by projecting reason and excuses onto him. He literally didn't give a fuck and still doesn't.
He wanted money without having a job.
He wanted a child without having real responsibility.
He wanted a wife without having a real, healthy marriage.
He's a fraud. He's tricked you into thinking that he's a decent bloke who has done bad things. That's wrong. He's a bad bloke who has done bad things. It's who he is. He's had years to change. He had a son as incentive to get clean. He had a recent ultimatum to get clean. At every defining moment he has made an active choice to put himself before everyone else including you and your son.
If he pissed off the wrong person, or someone wanted to take over his line, it could have been you and your son waking up to your house on fire. And it would be all his fault. And if you made it out alive, you'd have had to live with the knowledge you stayed with him for years leading up to that knowing he was a dealer.
Seriously, stop feeling guilty about him or psychoanalysing him and start feeling guilty it's gone on this long and focus on next steps. You need to move, for a start.