The way this function works is that it instantiates a new audio source object that is a copy of the audio object. It than sets that object to play and destroys it after the clip finishes.
If you would like to stop the clip when the enemy is no longer visible you should have the audio source be a component and play / stop it manually based on the render state.
function OnBecameVisible()
{
enabled = true;
audio.Play();
}
function OnBecameInvisible ()
{
enabled = false;
audio.Stop();
}