All NGUI sounds are played taking that volume value into consideration. UI sounds are generally short, so it doesn't matter if it alters the actively playing sounds or not.
In your case you are altering the volume of something that's actively playing -- music. You need to both play it and approach it differently, thus the script above.