There is zero excuse for any physical abuse, especially when your son even witnessed it and your son was emotionally abused by him from your account. Hurt people hurt people is never an excuse .
Wanting to see the “good” has nothing to do with your forgiving nature. It has to do with your trauma and attachment issues . You continue to obsess over a man who abused you, but the good is he’s nice to the puppy. The man was abusive to you.
You are obsessing and perseverate over two men. And I believe only for the reason they rejected you. Your self esteem and self worth are shot.
We have all said it, but there is a limit on the help you can get here. You really need professional help and I really hope for your sake you get it soon