The "s" stands for "suit", or alternately the name comes from the practice of referring to the playing card suit identified by a heart symbol as "hearts". The former is perhaps more likely, considering that the original HTML entity definition and the Unicode standard both refer to the character as "black heart suit". See also ♦; ♠; ♣.
That is why.