I think the logic behind the name is e.g. “‘Eq t’ is the class of types ‘t’ that support equality”, with “class” having the sense of “subset”.
I'm saying in the broader context of programming languages, it's confusing. And that that confusion could have been easily foreseen and avoided... after all, Smalltalk had been using the term "class" for almost 20 years before Haskell appeared and introduced their terminology.
At least they're called "typeclasses" and not just "classes". But we're always going to have some overloading of these powerful short ancient words.
I did recently see a suggestion to rename the "typeclass" keyword to "algebra" which would be pretty cool!