I would think that the first thing you have to do is have a long talk with your dh.
It's not really a decision to make without involving him - especially if he's such a good dh and father.
Why not try and work out where it all started to go wrong for you? It could be that you've just got into the habit of behaving/feeling in a certain way, and that you need to re-train how you think/feel in certain situations.
It sounds like you have a lot that you can build on, and certainly doesn't sound like you should just leave him without trying to work out if it is salvageable.