Specifically, I think for this message type the Ethernet destination
address always starts with 01:00:5E...
That is only true for IPv4 multicast, and it is appended with the last 23 bits of the IPv4 multicast address to arrive at the ethernet multicast MAC address. That means that there are 32 IPv4 multicast addresses that resolve to each ethernet multicast address (28 bits - 23 bits = 5 bits, and 2^5=32). IPv4 multicast uses IGMP.
An IPv6 multicast MAC address starts with
33:33, and it is appended with the last 32 bits of the IPv6 multicast address to arrive at the ethernet multicast MAC address. That means there are many, many IPv6 multicast addresses that resolve to each ethernet multicast address (it is more complicated for IPv6 than IPv4 because IPv6 has flags and scopes that change the way it works). IPv6 multicast uses MLD.
Technically, every MAC address that has the least significant bit of the most significant octet set to
1 is a multicast (group address), and the IEEE, itself, defines some multicast addresses, some RFCs and other vendors with OUIs have defined other multicast MAC addresses.
Any IP multicast packet sent through ethernet will have a multicast IP destination address (multicast is not allowed to be a source address), and the IP multicast destination address will be converted to a destination multicast MAC address for the encapsulating ethernet frame.
IGMP is a protocol for host/router communication (a router is also a host for IGMP), and a host sending IGMP messages will send it to the IPv4 multicast group for the IGMP message. That means that the IGMP destination IPv4 multicast address gets converted to the MAC multicast address.