Redrose, your signature indicates you're really dealing with quite a lot! There are lots of moms out there who don't have any medical issues at all, struggling with the same sense that what they are doing may not be enough!
The others gave you excellent advice and counsel, and I really don't have much to add, except to commiserate with the time of day when you can't quiet the baby, no matter what. I had twins - and it seemed to never fail, that no matter what kind of day we'd had, good, bad or indifferent - at about 4:00 they would start crying and nothing I could do would get them to stop. More often than not, when my husband arrived about an hour later, we'd all three be in tears, exhausted and cranky. Usually, by 6:00 we'd all recovered. We dubbed it the "arsenic hour" (even though it often extended to two). It eventually passed - although,even 29 yrs later I think we'd all three agree 4:00PM is not our finest hour!
Your son is progressing beautifully! You could probably use a little TLC, however. Is there someone who could help you from time to time during the day - family, friend, willing teenager? Everybody needs a little help now and then - so I hope you won't be afraid to seek it.
I made tons of mistakes. Everybody does. It's the preponderance of good that you do and the soul deep love that you give, that makes all the difference. Hang in there, and never forget the wisdom of the flight safety instructions - make sure your oxygen is flowing before turning to the child or person next to you to ensure theirs.
Blessings!