Generally Zig is a bit lower-level and simpler. One big difference is that Nim compiles to C whereas Zig compiles to LLVM IR. Zig is also heavily imperative / procedural, whereas Nim supports more object-programming paradigms, algebraic data types, more sophisticated exception handling, and so on.
They are both low-level compared to Python but fill different niches.
If anyone ever considers writing a Nim variant that compiles to Zig, I suggest that it be called "Zinnig". Aside from being punny it means sensible/rational in Dutch, which seems appropriate ;)