How is the loss between actual and predicted labels being calculated?
The per example loss is calculated by multiplying the one hot encoded result which will be 1 for the true class and 0 for the others with the softmax output which outputs a probability for each class.
Essentially we are picking the prediction for the relevant class.
In the next step we reduce the negative of this value which essentially is maximizing the probability of the class of interest.

The above approach should work fine for multi label as well. However using sigmoid instead of softmax to arrive at the probabilities for the multiple classes doesn't clip probabilities of other classes