Storm clouds are black because the clouds are so dense no light can make it through. The different colors of clouds are created by refracted light as it passes through the clouds. Clouds are made up of large collections of tiny droplets of water and crystallized water molecules. Because of the size of the water droplets, they essentially scatter wavelengths of light uniformly. When looking at the light reflected from a cloud, the cloud looks white. However, when you look upwards into a cloud, the cloud will look darker on the bottom because the light is scattered in all directions.
(copied and pasted from the google answer to 'why are thunderclouds black)