It's not exactly a Cycles vs Eevee problem. Your setup seems to be accumulating extra, overlapping geometry as it goes on. Eevee is more forgiving about Z fighting, but Cycles is trying to be more accurate, which results in shading problems. Using Merge by Distance
at appropriate points fixes it. You also don't seem to need neither the Individual tick on Extrude Mesh
(unless you need the interior faces for some other reason) nor the Separate Geometry
—Point node:
Adding another Merge
node after you Join Geometry
is also beneficial as it dramatically decreases the vertex amount from ~10k to ~1.6k: