Ok, you don't have to give him the benefit of the doubt.
Everything he says to you might be 100% true and accurate. But you do not have to accept it in a relationship.
You read on MN a lot the sentiment of not owing anyone a relationship and it's not until I experienced it that I really got it. It doesn't matter if he is going through an awful time in his life. It is not your responsibility to put it right, or help him through it or sort it out for him or put up with the negative impact it's having on you.
A relationship isn't a requirement or a duty or an obligation. You enter into a relationship because you want to enhance your life. Your life isn't being enhanced by this man.
Yes, once you have made a commitment to someone, and you love them, you support them through the shit. But this cannot be the basis of your relationship. Especially when he is treating you so disrespectfully.
You say you are fearful of being single but that would surely be better than sitting in at 4.30pm on a lovely warm Saturday afternoon with not a clue what is going on this evening. Or whether you're seeing him. Or whether he'll cancel again...
I'm single. I know what it's like. I'm going out tonight. On my own. To a pub I like where the beer is good and they have live music.
It is fine to make allowances for someone but at the point at which it is impacting negatively on you, your life, your happiness, your wellbeing, then it is time to end it.
Of course, you'd like to be in a loving, supportive and respectful relationship; it would be lovely. But that's not what you've got.