If you want to play a sound and do nothing else with it, you don’t need to manage anything, you can just call
this.sound.play('blast', { volume: vol });
each time.
If you’re creating sound objects instead, you need one sound object per sound asset per game object, probably. Each sound object is like one audio track — one playback position, one volume.
Yes, you’re exactly right.
I was creating sound objects with this.sound.add() before playing them.
Instead, it works perfectly when playing sounds directly, otherwise I should create sound objects in each game object.