There are already some good answer, but I want to share my oppinion on your case:
- I never met any boss/leader like yours before. I have my tasks overdue many many times, but none yelling me about that. Wrong estimation is completely normal for a junior developer.
- I have some knowledge on project management myself. First, a good boss/PM/leader will have to estimate the resource to get things done. Second, they're not only planing, they monitoring and constantly adjust that plan to fit the situation. Seeing you fail to accomplish your task, yet he not give you any reinforcement. It's not OK at all. The power is in their hand, and the responsibility come along. I believe he has no right cut off your salary.
- Regardless of you get the money or not, you should abandon this boss. What a terrible manager he is.