Any chemist out there know if it's the sodium or the chlorine that causes rust on steel?
Not a chemist, but it's neither. At least to my knowledge.
Chlorine alone does rust steel, and if you manage to break salt down, that won't be any good for steel, but I tend to think whatever reaction that would break salt to the elements would be bad for the metal, too. But the chlorine doesn't react when it's already got a stable pair with the sodium.
Salt attracts water and, directly and/or indirectly, speeds molecular reaction.
Fill a box with salt in Arizona, toss an AK in there, and seal it up airtight, and I'll bet it'll be right as rain when you take it out.
Keep the box with it's lid off in Florida, and... Well, the AK would probably still shoot. But it'll look like the photos from the ones those Somalian pirates had.
Ahem. As for the double-duty thing, I'm inclined to believe JohnBT on this.
I've found a bottle of sewing machine oil going through the drawers that my grandmother handed down when she passed, though, and it seems to actually work better than Hoppe's.
My all-purpose cleaner (until I find some stubborn carbon) is household cleaning ammonia with a surfactant in it. Kills corrosive residue dead (I personally believe the ammonia helps, but that's up for debate. The water base certainly does.) and loosens shooting crud right out of my Russian guns. I won't risk getting it near the pretty wood on my American ones.