That's only because in the example BGP MVPN is configured to use PIM-ASM "multicast tunnel" in the core In this case you do need PIM to be configured in the P and PE routers.
BGP MVPN provides the flexibility to use different tunnel types. When you use multicast tunnels based on p2mp rsvp-te, you wouldn't need PIM in the core. Other supported tunnel types are ldp-p2mp, ingress-replication
E.g.:
# set routing-instances vpn-a provider-tunnel rsvp-te label-switched-path-template default-template
You will need to enable traffic engineering under ospf and enable
Enable traffic engineering on core facing interfaces on PE routers
# set protocols ospf area a.b.c.d interface ab-x/y/z.w
Enable RSVP on core facing interface on PE routers
# set protocols rsvp interface ab-x/y/z.w