The first two sentences are very similar and both are correct. "He has a lot of debts." is a flat statement. "He has so many debts." adds an emotional component to the statement. It expresses a feeling that there is something bad about the number of debts he has.
In the last two sentences, "harshest" and "hardest" are equivalent. But the last sentence is incorrect without the word "for."