How do I get the alignment right for this equation?

Column pairs in align are separated by a wide blank space. You need alignat, but it's not really easy to take care of the necessary tricks.

I find it more convenient to use array for this application.

Note that your redefinition of \Re is not the best.

\documentclass{article}
\usepackage{amsmath,array}

\renewcommand{\Re}{\operatorname{Re}}

\begin{document}

\begin{alignat*}{3}
-1 &\leq{} &  \Re z &\leq 1 \\
-2 &\leq{} & 2\Re z &\leq 2
\end{alignat*}

\begin{equation*}
\setlength{\arraycolsep}{0pt}
\renewcommand{\arraystretch}{1.2}
\begin{array}{r >{{}}c<{{}} r >{{}}c<{{}} r}
-1 &\leq&  \Re z &\leq& 1 \\
-2 &\leq& 2\Re z &\leq& 2
\end{array}
\end{equation*}

\end{document}

enter image description here

With >{{}}c<{{}} we reserve a column for the relation symbols, suitably spaced because of the empty items around them.


With multiple alignment points within the same construction, it's best to use alignat (and friends):

enter image description here

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{alignat*}{2}
  -1 \leq {}&&  \Re{z} & \leq 1 \\
  -2 \leq {}&& 2\Re{z} & \leq 2
\end{alignat*}

\end{document}