From what meager knowledge of Junos I have, the first command will configure the router to accept MPLS/labeled packets. By default, the interface can only accept IP packets so this command is needed to activate MPLS on the forwarding plane.
set interface <IF.UNIT> family mpls
From the perspective or the Routing/Forwarding Engine, MPLS is also a protocol, needing its own LIB/LFIB ("show route table mpls.0") where all the labels including the default labels such as Router Alert and explicit nulls will be stored.
To activate MPLS on the control plane then, you need the following
set protocols mpls interface <IF.UNIT>
Thus, as far as I understand, the redundant configuration is needed to keep the configuration in line with the Junos philosophy of separate forwarding and control planes. First command for the forwarding plane, second to activate the control plane.
HTH,
Nic
#MPLS