I think the main reason to output logits is because commonly used loss functions such as nn.CrossEntropyLoss (multi-class classification) and nn.BCEWithLogitsLoss (multi-label classification) expect logits, not probabilities. Applying the softmax manually would reduce the numerical precision without much benefit besides being able to “see” the probabilities for debugging purposes.
Adding the F.softmax activation is trivial and (for these classification models) doesn’t yield any purpose besides printing the probabilities (you should not pass the probabilities to the mentioned loss functions).