I believe this is happening due to casual servers now running sv_pure 1 which basically means that you can't use custom files for a lot of things. Here's the list(type sv_pure into the console):
sound\... trusted_source
models\... trusted_source
materials\... trusted_source
particles\... trusted_source
scripts\game_sounds.txt trusted_source
scripts\game_sounds_manifest.txt trusted_source
scripts\game_sounds_player.txt trusted_source
scripts\game_sounds_vo.txt trusted_source
scripts\game_sounds_vo_handmade.txt trusted_source
scripts\game_sounds_weapons.txt trusted_source
scripts\soundmixers.txt trusted_source
materials\console\... any
materials\temp\... any
materials\vgui\logos\ui\... any
sound\misc\... any
sound\vo\... any
sound\ui\... any
sound\ui\hitsound.wav any
Basically every file under "trusted_source" will be temporarily overwritten by the server which means that you can't use/or adjust (custom) weapon models, sounds etc.
In theory you should only hear the normal sound for each rocket launcher.
My guess would be that the client says something like "play file A" and the server says "play file B" with file A being the replaced weapon sound and file B being the normal weapon sound(trusted source). This in turn causes you to hear both sounds.
I don't think there's a fix to this other than playing on community servers which have sv_pure set to 0.
To prove my theory you could create a server and change the settings to sv_pure 1 and see what happens.
Although I'm not sure if the server you created uses your own custom files as "trusted source files" or if they use the normal game files in your tf2 directory.