Why is there this strange contradiction between the language of logic and that of set theory?

Yes, it is inconsistent and confusing.

In logic's defense, the $\supset$ notation for logical implication is rare nowadays; it is more often notated $\to$ (Hilbert, 1922) or $\Rightarrow$ (Bourbaki, 1954) -- possibly in recognition of the potential for confusion with the subset/superset relation.

The "$\supset$" symbol for implication was originally a backwards "C" and dates back to Peano (1895). He wrote "$pCq$" for "p is a Consequence of q", and also reversed it to "$q\supset p$ for "q has p as a consequence".

According to some sources, writing "$\subset$" (first used by Schröder, 1890) for "is a subset of" replaced earlier use of "$<$" when authors felt set operations ought to be distinguished from the arithmetic notation that was first used by analogy.

Others claim that "$\subset$" dates back to J. Gergonne (1817) who used "C" for "Contained in".

(Most of the above information is from Earliest Uses of Various Mathematical Symbols by Jeff Miller).