How to eliminate Cycles artifacts with many overlapping volumes?
Try increasing the number of Transparent bounces in Render settings > Light paths:



The reason this happens is because when there is nothing plugged into the surface output of the material output node, it behaves like a transparent shader. When a ray goes through a set number of transparent surfaces (as defined by the value in max bounces), it will stop and just return nothing (resulting in a "black surface").

To avoid these black surfaces, ensure that the max bounces are high enough. Note that forcing too many bounces can cause a noticeable slowdown when rendering due to the extra bounces which need to be calculated. This is especially true when setting the number of min bounces as well, and in cases which allow high numbers of bounces before the ray can escape to the sky (such as an indoor scene).