Multicasts are only forwarded to ports/nodes that have subscribed to that specific multicast (if everything is set up correctly). In contrast, broadcasts are forwarded to all ports.
If you configure multiple IP subnets within a single layer-2 segment, even directed broadcasts will still be forwarded to all ports: IP broadcasts are translated to Ethernet broadcasts, no matter if they are limited (255.255.255.255) or directed (e.g. 192.168.0.255 for 192.168.0.0/24). The only difference a directed broadcast makes is that non-subnet members will ignore it (at the IP stack).