Note that multi_label_classification is only for problems where you can have multiple labels for one example, so you should use the default if your samples can only have one label.
If you are in a true multiple label problem, then it’s very likely your labels are already in a one-hot format.
For your second question, you should just output the logits of your model and then compute the loss manually with your penalty. If you’re using the Trainer API, you can subclass and write a compute_loss function with that, see here 3 for an example.