Does NetMulticast only work from the server?

Yes that is the intended behavior. In order for a client to interact with another client it must go through the server first. This piece of documentation explains it well.