Maybe I'll be said "very ignorant" but as far as I know a layer 2 device doesn't need to have a MAC address, at least speaking about "stupid" layer 2 devices.
Then moving to Managed Layer 2 devices I can understand why the switch has a MAC address: I can associate an IP address to it and so I can manage that device by remote.
Moreover on my Catalyst 3524XL I saw that even if I create hundreds of vlan interfaces they get always the same MAC address.
But I wondered why each interface has its own MAC address. How could it be used for? Maybe for advanced features on the Catalyst I have never explored before?