Given a topological space $X$, we know that there is a CW complex $Z$ with a map $Z\rightarrow X$ inducing an isomorphism on homotopy groups.
If we are given two spaces $X_{1}$ and $X_{2}$ with isomorphic homotopy groups (but no continuous map inducing the isomorphism), it makes sense that there shouldn't be a simultaneous CW approximation of $X_{1}$ and $X_{2}$, that is, there shouldn't be a CW complex $Z$ with maps to both $X_{1}$ and $X_{2}$ inducing isomorphisms on homotopy groups.
So why does the naive approach to use the method in Hatcher (Proposition 4.13) not work? Assume without loss of generality everything is path connected and our spaces are pointed.
1) Let $Z_{0}$ be a point and we fix an inclusion of $Z_{0}$ into $X_{1}$ and $X_{2}$.
2) Now, let $\{\gamma_{\alpha}\}$ be generators of $\pi_{1}(X_{1})$. Let $\{\gamma_{\alpha}'\}$ be the corresponding generators in $\pi_{1}(X_{2})$ under the isomorphism $\pi_{1}(X_{1})\rightarrow \pi_{1}(X_{2})$ (that is not induced by a continuous map).
3) So now, attach a copy of $S^{1}$ to $Z_{0}$ for each generator $\gamma_{\alpha}$ and map $S^{1}$ to $X_{1}$ as a representative of the class of $\gamma_{\alpha}$ in $\pi_{1}(X_{1})$. For the \emph{same} copy of $S^{1}$, map it to the representative of the class of $\gamma_{\alpha}'$ in $\pi_{1}(X_{2})$.
4) Let this new space be $Z_{1}$. By construction, the map $Z_{1}\rightarrow X_{1}$ induces a surjection $\pi_{1}(Z_{1})\rightarrow \pi_{1}(X_{1})$ and similarly, $Z_{1}\rightarrow X_{2}$ induces a surjection $\pi_{1}(Z_{1})\rightarrow \pi_{1}(X_{2})$.
5) For each element $\alpha$ of the kernel of $\pi_{1}(Z_{1})\rightarrow \pi_{1}(X_{1})$ , attach a disk $D^{2}$, where the boundary map is a representative of $\alpha$. From the isomorphism $\pi_{1}(X_{1})\rightarrow\pi_{1}(X_{2})$, $\alpha$ is also in the kernel of $\pi_{1}(Z_{1})\rightarrow \pi_{1}(X_{2})$.
6) Let the new space obtained after attaching these disks be $Z_{1}'$.
7) Now, we want to attach copies of $S^{2}$ so that our maps will induce surjections on $\pi_{2}$. We do the same thing as we did for step three to get a space $Z_{2}$.
8) Continue this process indefinitely to build a $CW$ approximation $Z$ of $X_{1}$ and $X_{2}$ such that $Z\rightarrow X_{1}$ induces isomorphisms $\pi_{*}(Z)\rightarrow \pi_{*}(X_{1})$ and $\pi_{*}(Z)\rightarrow \pi_{*}(X_{2})$.