Help me understand why my cycles render is so slow
I'm not too sure about the implementation of volumetrics in Cycles, but roughly speaking:


without volumetrics, a ray direction must be evaluated only once every time it hits a surface. So the ray virtually travels freely (no computations) through the empty space, then it hits a surface and (if it hasn't bounced back and forth too many times, depending on your "Bounces" settings), it triggers a single new calculation to decide where the ray should move next. Repeat a few times (up to a dozen) until it finally hits a light or the sky.
with volumetrics, every little interval of space the ray travels, the path tracer has to flip a coin to decide whether it will be scattered or not (until it finally gets scattered enough times to reach the "Volumetric bounces" cap). So along its trip there's a LOT of calculations involved.


If your scene is covered for the most part by volumetric regions, this will require a lot of extra calculation per each single ray (and you are casting 20 BILLION rays in your setup!).

Subsurface scattering is also very computationally intense.

So the reason why your render takes so long is that, even if your geometry and your shaders are "simple" (meaning: it took not too long for you to set them up), they are all over the place and are requiring a ton of calculations per ray (meaning: it takes a lot for the renderer to evaluate them)!