classifier predicts only one class
It is a common problem that - with unbalanced classes - some model tends to predict mostly the majority class. You could try to oversample the minority classes. In addition, RF tends to perform weak here. Boosting or NN are often able to recover more details, which can be important to predict the minority classes.

Edit: Okay, now that you clarified that you face a balanced problem, I guess your problem is the classifier. You could try multinominal logit with lasso regulation to „shrink“ irrelevant features (words). You should also consider Boosting or NN (maybe LSTM sequential).