Why doesn't random range work?

It only plays 0 each time this enumerator is triggered by a button press. I see no reason it shouldn’t work…

        int randomTailSound = Random.Range(0,1);

        if (randomTailSound == 0)
        {
            Tail2.Play();
        }

        else if (randomTailSound == 1)
        {
            Tail1.Play();
        }

It does, you read the docs incorrectly

the ‘int’ version is maximally EXCLUSIVE.

From the docs :

Returns a random integer number
between min [inclusive] and max
[exclusive] (Read Only).

Note that max is exclusive, so using
Random.Range( 0, 10 ) will return
values between 0 and 9. If max equals
min, min will be returned.