CrossEntropyLoss applies LogSoftmax on the input, but your model output will be logits.
Therefore you would need to transform them into probabilities using Softmax to calculate the ROC/AUC.
Yes, it would be a good idea to make sure the loss approaches zero.
Changing the learning rate, increasing the epochs, etc. might help.