Yes these are the classification heads as provided by the various research teams which is the reason they are different from each other.
Bert’s classification head is somehow pretrained on the NSP task but you should probably still train it if you want to use use it for another task anyway.
We don’t provide a classification head for GPT/GPT2 because you need to add a new token to the vocabulary/model to use it as a classification model and decide how you want to process your data which seems (to me) a stronger step than just training a head like the other more recent models. This is debatable I guess.