zsh (not mac-specific, but it is the default shell on macs) expands globs a little differently from bash, you need to put strings with *
that aren’t file globs in quotes to prevent glob expansion:
conda create -n env3-10-complex -c conda-forge python=3.10 fenics-dolfinx 'petsc=*=complex*' mpich
bash has weird but useful glob expansion behavior where if a glob doesn’t match anything it’s replaced by the original pattern, effectively assuming you didn’t mean it as a glob, whereas zsh always treats globs as globs and tells you when they don’t match anything.