So to play my sound, my object has an audio source. and in the object script i just use audio.Play(). But how do i do this if i need the same object to play multiple sounds with multiple audio sources?
If you only need to play one sound at a time, you can write a script that keeps a list of sounds and swaps them out when appropriate. If you need to play multiple sounds at once, just add an Audio Source for each sound. Either way you're going to need a script that manages which sound(s) to play and when.
I don't know how you're determining when to play which sounds, but that would greatly impact how I'd go about scripting this. To start, an easy way to grasp the concept and make it work would be to create empty game objects with a single audio source component for each of the sounds you want to play. In your audio manager script, make an array of game objects. When it's time to play a sound, use whatever logic necessary to choose the correct one to play, then use (C#):
gameObjectArray[selectedAudioObject].GetComponent<AudioSource>().Play();
Best way is to test it out =).
My opinion, try to Kill Unity with stupid mudane tasks... That's what we're told to do in our Linux/Windows class because you can fix a computer... You can fix Unity. Uninstall/install/delete/whatever.
So do it, see if it works =).