I'm not saying your DH doesn't love the kids, but the way he is treating them is really awful. When asked what makes him a good father, the only examples you could give were:
he does love his children dearly and tells them all the time
It;s good to tell your children you love them. However, if you say you love them, and then behave in an unloving fashion, it sends a very confusing message.
He spoils them with treats outside the house
....and that's all the good you can find to say about him? He buys them stuff when you're out? Other things loving parents do include:
Spending time with their children
Listening to how they think and feel
Supporting and encouraging them in their interests - and I don't mean "taking them to football" I mean painting with them if they like painting, baking with them if they like baking, lego with them if they like lego, etc.
Taking an active role in their day to day care - doing bathtimes, cooking their food, looking after them when they are ill, etc
Reading to them and with them
...and loads of other stuff. Buying them treats is really more what an indulgent uncle should get a pat on the back for.
It's just when there is a mess or toys he stresses out completely
Kids are messy.
He can be really fun and happy one minute then next minute shouting that the house is a tip and we need to throw stuff out
That's actually worse for the kids than if he was angry all the time. That unpredictability of never knowing when he might kick off, when the fun times will suddenly and terrifyingly switch to him shouting, the sheer uncontrolability of it.
Please protect your kids from his temper. Don't appease, don't "compromise" by agreeing they can have one toy a day or whatever. Insist that he gets help, and tell him if he ever, ever throws their possessions away, you will leave and mean it.