@YAFU and @slowburn
With regard to the volumetric situation and differences between Cycles in Blender 3.0 and 2.93 and GPU vs CPU and such, here’s some information that might be useful:
In Cycles there are two ways to sample a value. “Distance” sampling and “Equiangular” sampling. Cycles by default uses the “Multi-importance” sampling method which means it picks the sampling method that is believed to be the best for the object in this scene.
With Cycles in Blender 2.93 the CPU supported “Distance” and “Equiangular” sampling. The GPU only supported “Distance” sampling. This means you might render a scene in Blender 2.93 on the CPU and it’s relatively noise free at a low sample count due to “Equiangular” sampling. But if you render the same scene with the GPU which only supports “Distance” sampling, it might look noisier at the same sample count. (Note: Neither “Distance” or “Equiangular” sampling is better, they’re better in different situations)
In Blender 3.0 with the Cycles-X merge, both the CPU and GPU support “Distance” and “Equiangular” sampling, so now the difference of CPU vs GPU with different sampling methods shouldn’t be an issue (there still appears to be some small differences though). But, as @YAFU has pointed out, volumetric objects in Cycles with Blender 3.0 does appear to be noiser than 2.93. And it’s not because of the sampling method difference.