Yes you need to store the instance somewhere. If you create new ones they are different shouts.
Think about if another player starts/stops shouting. They will send messages to the server which will send messages to your client.
You need to keep track of which players are linked to which sound instances to handle this properly.
As I said above, a player capability would be a good way to store this data.
WARNING: You would need to be careful that any server side code of the capability doesn't try to load the SoundInstance class, e.g. by wrapping the sound instance in a holder class that only gets used on the client.