Дело в окислителе. Простое вещество хлор - достаточно сильный окислитель, способный отнять много электронов у восстановителя. Поэтому железо поднимается до более высокой степени окисления. Соляная же кислота не является по сути окислителем, поэтому и железо поднимается на свою минимальную степень окисления.