What is the relation between surcharge and fee?

The two concepts do not belong to the same hierarchy; they are overlapping. Calling something a fee usually implies that it is charged for a service, as opposed to goods. Calling something a surcharge implies that it is added to some other charge.

If a merchant sells some goods at a such-and-such price, and then charges some additional amount for 'handling', that additional charge is both a surcharge (it is on top of the price of the goods) and a fee (it is charged for the service of handling rather than the goods themselves). But if a seller of goods charges an additional amount for incorporating some special component into the goods themselves, that amount could be called a surcharge, but it wouldn't be natural to call it a fee. On the other hand, professionals charge fees for their services, without these fees being a surcharge on anything.

The term premium is usually used only in the context of insurance. The term convenience fee does not have a standard meaning; it has been introduced recently in an apparent attempt to make the practice of imposing such surcharges palatable to the consumers.

(As has been pointed out in the comments, in some contexts, both fee and surcharge may function as technical terms; this answer is does not try to capture the meanings that they may have in such contexts.)