Inside ActionEmptyBottleBase the RPC to stop playing the soundset should be sent on OnEndAnimationLoop and not OnEndServer or else the sound continues throughout closing the bottle.
So change line 73 from
override void OnEndServer( ActionData action_data )
to
override void OnEndAnimationLoop( ActionData action_data )