Aluminum pans might react and cast iron might hold in old flavor because most people don't wash them. Try stainless steel.
Since you complain about the taste in all kinds of meat, including pork, and not just the "livery" cuts of steak, my guess would be the type of oil you are using. I never use Canola, it tastes like fish when heated. Other oils have off-putting flavors, as well,when heated. If you use no oil at oil, that also may be the culprit.
Start with something like a NY strip, salt and pepper it and leave it for 15-20 minutes for the juices to start re-absorbing, and for the steak to come to room temperature. Heat the pan until it feels warm when you hover your hand about 3" from the surface, Put 2-3 Tablespoons of Butter (not margarine) in the pan. As soon as that's melted put the steak in. Let it sit for 5-7 minutes, then flip it over and cook it for another 5 minutes (this is medium well-well). Take it out,put it on a plate, pour pan juices over it, and let it rest a few minutes before you cut into it.
I forgot, the pan should be on medium heat, and Rinse the steak and pat it dry.
Try to eat it with a salad with vinegarette to cut the fat a little.
If it doesn't taste like liver, it was your oil. If it still tastes like liver, ya got me.
I use mostly butter, olive oil (Filippo-Berio), or grape seed oil for frying.