Why bother plugging in the last 24 bits of the sender's unicast address into the solicited-node multicast address while all-node multicast address can achieve the same thing? In my view, this move is redundant as the requested address is already include in the target address of the packet.
Why would you want to interrupt every host the way ARP does? By using a solicited node multicast, it probably only interrupts the target host, rather than every host on the LAN. That is a great improvement over ARP, which would have used multicast had it existed when ARP was created.
Even if you have the destination address for the packet, you still need to associate the hardware address to the network address in order to build a frame to encapsulate the packet. IPv4 uses ARP to get the hardware address for a given network address, but IPv6 improved that by using NDP (multicast) instead of ARP (broadcast).
See this answer about that.