What are some possible reasons that your multiclass classifier is classifying alll the classes in a single class?
I found the reason finally. I was using the unstandardized X_test.
Thanks.

Edit:

previously i defined the y_pred like so; 

y_pred = clf.predict (xtest) 


and then constructed the confusion matrix like so;

cm = confusion_matrix (y_test, y_pred)


However, i forgot that i previously changed xtest using standard scalar like so;

x_test_std = sc.transform (xtest)


and that the new x_test that should be used is xtest_std not x_test.

When i realized this and used the proper x_test_std, everything worked and made much more sense.