Hello,
Great question. The BGP level one is logically for BGP, the routing-instance level one is supposed to be protocol-independent. As you may see both commands have different further options:
BGP level options
# set protocols bgp group test multipath ?
Possible completions:
<[Enter]> Execute this command
multiple-as Use paths received from different ASs
| Pipe through a command
Routing-instance level options
# set routing-instances test routing-options multipath ?
Possible completions:
<[Enter]> Execute this command
+ apply-groups Groups from which to inherit configuration data
+ apply-groups-except Don't inherit configuration data from these groups
as-path-compare Compare AS path sequences in addition to AS path length
> vpn-unequal-cost Include VPN routes with unequal IGP metrics
| Pipe through a command
Also, if you use the BGP level one you are only balancing between the BGP routes you receive from your MPLS VPN (other PE's) not the CE routes. Here is an example of what you could achieve with the routing-instance level multipath: https://www.juniper.net/techpubs/en_US/junos12.3/topics/example/layer-3-vpn-load-balancing-ip-header-filtering.html