$\require{AMScd}$
I think I figured it out. We define $B(Y,\epsilon)=\bigcup_{y\in Y}B(y,\epsilon)$ the open $\epsilon$-nbd of $Y$ and the homeomorphism $r:(0,1]\times \partial D^n\to D^n-0,r(t,s)=ts$ (this is just scalar product and is what Hatcher means by spherical coordinates). Let's define inductively $N_\epsilon^0(A)=A\cap X^0$ and for $n\ge 1$ suppose $N^{n-1}_\epsilon(A)$ is a nbd of $A\cap X^{n-1}$ in $X^{n-1}$. We will write $\phi^n_\alpha$ as $\phi_\alpha$ and similarly for $\epsilon_\alpha$ and $e_\alpha$. We define:
\begin{align*}
B_\alpha&=B((\phi_\alpha|D^n-\partial D^n)^{-1}(A),\epsilon_\alpha) \\
C_\alpha&=r((1-\epsilon_\alpha,1]\times\phi_\alpha^{-1}(N^{n-1}_\epsilon(A))) \\
A_\alpha&=B_\alpha\cup C_\alpha \\
N^n_\epsilon(A)&=\bigcup_\alpha\phi_\alpha(A_\alpha)\cup N^{n-1}_\epsilon(A)
\end{align*}
Note that in the definition of $B_\alpha$ the metric $d$ is supposed to be restricted to $D^n-\partial D^n$ so $B_\alpha$ is an open set in $D^n-\partial D^n$ and so is $C_\alpha$ because $r$ is an homeomorphism, $(1-\epsilon^n_\alpha,1]\times\phi_\alpha^{-1}(N^{n-1}_\epsilon(A))$ is open in $(0,1]\times \partial D^n$ and $D^n-0$ is open in $D^n$ (note that here we assume $\epsilon_\alpha\le 1$ and we also use the fact that $N^{n-1}_\epsilon(A)\subseteq X^{n-1}$ so that $\phi_\alpha^{-1}(N^{n-1}_\epsilon(A))=(\phi_\alpha|\partial D^n)^{-1}(N^{n-1}_\epsilon(A))$ and what I put in the question was redudant). So we get $A_\alpha$ open in $D^n$.
One can then prove that $\phi_\beta^{-1}(\phi_\alpha(A_\alpha))\subseteq C_\beta$ if $\beta\neq \alpha$ and $\phi_\alpha^{-1}(\phi_\alpha(A_\alpha))=A_\alpha$ so that one gets $\phi_\beta^{-1}(N^n_\epsilon(A))=A_\beta$, an open set in $D^n$ (this is what Hatcher means by defining its preimage under the characteristic map $\phi_\alpha$). Then one proves $N^n_\epsilon(A)\cap X^{n-1}=N^{n-1}_\epsilon(A)$ and finally $N^n_\epsilon(A)$ is indeed open in $X^n$ because of the quotient map defined in the proof of Proposition A.2 p.521. We add $N^{n-1}_\epsilon(A)$ to $N^n_\epsilon(A)$ so that $N^n_\epsilon(A)\cap X^{n-1}$ is indeed open in $X^{n-1}$, another reason is given in the next sentence. It remains to show that $N^n_\epsilon(A)$ contains $A\cap X^n$. Since $N^{n-1}_\epsilon(A)$ contains $A\cap X^{n-1}$ we need to show that $N^n_\epsilon(A)$ contains $A\cap(X^n-X^{n-1})=\bigcup_\alpha A\cap e_\alpha$, this is obvious since $(\phi_\alpha|D^n-\partial D^n)^{-1}(A)\subseteq B_\alpha$ implies $A\cap e_\alpha\subseteq \phi_\alpha(B_\alpha)$.
We finally define $N_\epsilon(A)=\bigcup_nN^n_\epsilon(A)$ and one proves $N_\epsilon(A)\cap X^n=N^n_\epsilon(A)$, an open set in $X^n$ so $N_\epsilon(A)$ is open in $X$ and is clear that $A\subseteq N_\epsilon(A)$ because each $A\cap X^n\subseteq N^n_\epsilon(A)$
Now as an application of all of this I'm gonna precise Proposition A.4 p.522:
Each point in a CW complex has arbitrarily small
contractible open neighborhoods, so CW complexes
are locally contractible.
Let's call $y$ instead of $x$ as in the book the point we are studying and let $U$ be a given nbd of $y$. We want to find the right $\epsilon^n_\alpha$'s so that $N_\epsilon(y)\subseteq U$. Suppose $m$ is the least nonnegative integer such that $y\in X^m$. We then have $N^n_\epsilon(y)=\emptyset$ for $n<m$ and note that $N^m_\epsilon(y)=\phi^m_\alpha(B(z,\epsilon^m_\alpha))$ where $\alpha$ is the index such that $y\in e^m_\alpha$ and $z\in D^m-\partial D^m$ is such that $\phi^m_\alpha(z)=y$. Pick $\epsilon^m_\alpha$ so that $\overline{B(z,\epsilon^m_\alpha)}\subseteq(\phi^m_\alpha|D^m-\partial D^m)^{-1}(U)$. Then since $\phi^m_\alpha|D^m-\partial D^m$ is an homeomorphism one gets $\overline{N^m_\epsilon(y)}=\overline{(\phi^m_\alpha|D^m-\partial D^m)(B(z,\epsilon^m_\alpha))}=(\phi^m_\alpha|D^m-\partial D^m)(\overline{B(z,\epsilon^m_\alpha)})\subseteq U$, as desired. Suppose inductively we defined the $\epsilon$'s so that $\overline{N^{n-1}_\epsilon(y)}\subseteq U$. We will drop the superscripts $^n$ as in the book. Using the same notation as before but with $A=\{y\}$, note that $B_\alpha=\emptyset$ and so $A_\alpha=C_\alpha=r((1-\epsilon_\alpha,1]\times\phi_\alpha^{-1}(N^{n-1}_\epsilon(y)))\subseteq r((1-\epsilon_\alpha,1]\times\phi_\alpha^{-1}(\overline{N^{n-1}_\epsilon(y)}))$. We know $X$ is normal from the previous proposition in the book so we can choose $V$ nbd $\overline{N^{n-1}_\epsilon(y)}$ in $X$ such that $\overline{N^{n-1}_\epsilon(y)}\subseteq V\subseteq \overline{V}\subseteq U$. Since $\phi_\alpha^{-1}(\overline{N^{n-1}_\epsilon(y)})$ is a closed subset of $\partial D^n$ and hence also a closed subset of $D^n$ that is contained in the open subset $\phi_\alpha^{-1}(V)$ of $D^n$ we can use lemma 1. to get $\epsilon_\alpha$ so that $r((1-\epsilon_\alpha,1]\times\phi_\alpha^{-1}(\overline{N^{n-1}_\epsilon(y)}))\subseteq \phi_\alpha^{-1}(V)$. We then get $\phi(C_\alpha)\subseteq V$ for each $\alpha$ so that $N^n_\epsilon(y)\subseteq V\cup N^{n-1}_\epsilon(y)$ and then $\overline{N^n_\epsilon(y)}\subseteq \overline{V}\cup U\subseteq U$, as desired.
It remains to show that $N^m(y)$ is contractible. This is the tricky part of this proof. For $n>m$, Hatcher claims one can construct a deformation retraction of $N^n_\epsilon(y)$ onto $N^{n-1}_\epsilon(y)$ by sliding outward along radial segments in cells $e^n_\alpha$, the images under the characteristic maps $\phi_\alpha$ of radial segments in $D^n$. This last statement is quite intuitive and easy to understand but kinda cumbersome to write down and prove formally, but I'm gonna do it anyways. Call $V=N^{n-1}_\epsilon(y)$. For each $\alpha$ let $R_\alpha:((1-\epsilon_\alpha,1]\times \phi_\alpha^{-1}(V))\times I\to ((1-\epsilon_\alpha,1]\times \phi_\alpha^{-1}(V))$ be the deformation retraction of $(1-\epsilon_\alpha,1]\times \phi_\alpha^{-1}(V)$ onto $1\times \phi_\alpha^{-1}(V)$ defined as $R_\alpha((s,a),t)=((1-t)s+t,a) $ (intuitively this map slides the elements of $(1-\epsilon_\alpha,1]\times \phi_\alpha^{-1}(V)$ in a rectangular way and at constant speed to $1\times \phi_\alpha^{-1}(V)$). Then noting that $\phi_\alpha(\phi_\alpha^{-1}(V))=N^{n-1}_\epsilon(y)\cap \phi_\alpha(\partial D^n)$ I define $F_\alpha:\phi_\alpha(C_\alpha)\times I\to \phi_\alpha(C_\alpha)$ as (there is a simpler way to do this in the edit at the end)
\begin{equation*}
F_\alpha(x,t)=
\begin{cases}
\phi_\alpha(r(R_\alpha(r^{-1}((\phi_\alpha|D^n-\partial D^n)^{-1}(x)),t)))& x\in \phi_\alpha(C_\alpha-\phi_\alpha^{-1}(V)) \\
x & x\in N^{n-1}_\epsilon(y)\cap \phi_\alpha(\partial D^n)
\end{cases}
\end{equation*}
This is part of the final deformation retraction $F$ of $N^n_\epsilon(y)$ onto $N^{n-1}_\epsilon(y)$. We must first prove each $F_\alpha$ is continuous. Note that $\phi_\alpha(C_\alpha-\phi_\alpha^{-1}(V))$ is an open subset of $\phi_\alpha(C_\alpha)$ (actually an open subset of $N^n_\epsilon(y)$) and then it's clear from the definition that $F_\alpha$ is continous in $\phi_\alpha(C_\alpha-\phi_\alpha^{-1}(V))\times I$, it remains to show it's continuous in $N^{n-1}_\epsilon(y)\cap \phi_\alpha(\partial D^n)\times I$, this is the cumbersome part. Let $z\in N^{n-1}_\epsilon(z)\cap \phi_\alpha(\partial D^n)$ and $s\in I$, let's prove $F_\alpha$ it's continous at $(z,s)$. Let $U$ be an open nbd of $F_\alpha(z,s)=z$ in $\phi_\alpha(C_\alpha)$, then $U\cap N^{n-1}_\epsilon(z)\cap \phi_\alpha(\partial D^n)$ is open in $\phi_\alpha(C_\alpha)\cap N^{n-1}_\epsilon(z)\cap \phi_\alpha(\partial D^n)=N^{n-1}_\epsilon(z)\cap \phi_\alpha(\partial D^n)$ which in turn is open in $\phi_\alpha(\partial D^n)$ because $N^{n-1}_\epsilon(z)$ is open in $X^{n-1}$ so $U\cap N^{n-1}_\epsilon(z)\cap \phi_\alpha(\partial D^n)$ is open in $\phi_\alpha(\partial D^n)$. Since $\phi_\alpha(\partial D^n)$ is normal (this is because normality is invariant under continuous closed surjections) there is $W$ nbd $z$ in $\phi_\alpha(\partial D^n)$ such that $z\in W\subseteq \overline{W}\subseteq U\cap N^{n-1}_\epsilon(z)\cap \phi_\alpha(\partial D^n)$. Define $K=\phi_\alpha^{-1}(\overline{W})$ and $R=\phi_\alpha^{-1}(W)$, then $K$ is closed in $\partial D^n$ and thus closed in $D^n$, $\phi_\alpha^{-1}(U)$ is open in $D^n$ and $K\subseteq \phi_\alpha^{-1}(U)$ so we can use lemma 1. to get a $\delta$ such that $r((1-\delta,1]\times K)\subseteq \phi_\alpha^{-1}(U)$ and since $R\subseteq K$ we get $r((1-\delta,1]\times R)\subseteq \phi_\alpha^{-1}(U)$, note also $R$ is open in $D^n$. We need to prove $\phi_\alpha(r((1-\delta,1]\times R))\times I$ is the desired nbd of $(z,t)$. First note that $\phi_\alpha$ is a quotient map and $r((1-\delta,1]\times R)$ is an open $\phi_\alpha$-saturated subset of $D^n$ (here we use the fact that $R$ is open and that it's of the form $\phi_\alpha^{-1}(W)$), this means $\phi_\alpha(r((1-\delta,1]\times R))$ is open in $\phi_\alpha(D^n)$ which implies that it's also open in $\phi_\alpha(C_\alpha)$ and also satisfies $\phi_\alpha(r((1-\delta,1]\times R))\subseteq U$. So it remains to show that $F_\alpha(\phi_\alpha(r((1-\delta,1]\times R))\times I)\subseteq U$, this follows from the fact that $R_\alpha(((1-\delta,1)\times J)\times I)\subseteq (1-\delta]\times J$ for any $J\subseteq \partial D^n$:
\begin{align*}
F_\alpha(\phi_\alpha(r((1-\delta,1]\times R))\times I)&=F_\alpha(\phi_\alpha(r((1-\delta,1)\times R))\times I)\cup F_\alpha(\phi_\alpha(R)\times I) \\
&=\phi_\alpha(r(R_\alpha(((1-\delta,1)\times R)\times I)))\cup \phi_\alpha(R) \\
&\subseteq \phi_\alpha(r((1-\delta,1]\times R))\cup \phi_\alpha(R) \\
&=\phi_\alpha(r((1-\delta,1]\times R)) \\
&\subseteq U
\end{align*}
Thus we get that $F_\alpha$ is indeed continuous at $(z,t)$ and $F_\alpha$ is a deformation retraction of $\phi_\alpha(C_\alpha)$ onto $N^{n-1}_\epsilon(y)\cap \phi_\alpha(\partial D^n)$
Let's define our final deformation retraction $F:N^n_\epsilon(y)\times I\to N^n_\epsilon(y)$ as
\begin{equation*}
F(x,t)=
\begin{cases}
F_\alpha(x,t) & x\in \phi_\alpha(C_\alpha)\text{ for some $\alpha$} \\
x & x\in N^{n-1}_\epsilon(y)
\end{cases}
\end{equation*}
Note that $F$ is well defined. Recall that a space $Y$ is generated by $Y_\alpha$ iff $Y=\bigcup Y_\alpha$ and $U\subseteq Y$ is open (closed) in $Y$ iff for each $\alpha$, $U\cap Y_\alpha$ is open (closed) in $Y_\alpha$. In Proposition A.15 it is proven that $F:Y\times I\to Z$ is continuous iff each $F|Y_\alpha\times I:Y_\alpha\times I\to Z$ is continuous (the theorem is about compact subspaces but it clearly applies in the general case). Later in the appendix it is also proven that a cell complex $X$ is generated by the closures of its cells $e^n_\alpha$. Since $N^n_\epsilon(y)$ is open in $X^n$, a subcomplex of $X$ and thus a cell complex by itself, one easily gets that $N^n_\epsilon(y)$ is generated by $N^n_\epsilon(y)\cap \overline{e^n_\alpha}=\phi_\alpha(C_\alpha)$ and $N^{n-1}_\epsilon(y)$. Since each $F|\phi_\alpha(C_\alpha)\times=F_\alpha$ is continuous and the restriction of $F$ to $N^{n-1}_\epsilon(y)\times I$ is the identity we get that $F$ is continuous.
We now have deformation retractions from $N^n_\epsilon(y)$ onto $N^{n-1}_\epsilon(y)$ for $n>m$ and want to construct a retraction from $N_\epsilon(y)$ to $N^m_\epsilon(y)$. Hatcher gives some hints about this by saying that one has to perform the deformation retraction of $N^n_\epsilon(y)$ onto $N^{n-1}_\epsilon(y)$ during the $t$-interval $[1/2^n,1/2^{n-1}]$, points of $N^n_\epsilon(y)-N^{n-1}_\epsilon(y)$ being stationary outside this $t$-interval. While this is clear in the finite case it's not very clear how one gets the final deformation retraction of $N_\epsilon(y)$ onto $N^m_\epsilon(y)$ when $N_\epsilon(y)$ is an infinite union, details about this are in the lemma 2. To apply this lemma one merely has to note that $N_\epsilon(y)$ open in $X$ implies that $N_\epsilon(y)$ is generated by $N^n_\epsilon(y)$ for $n\ge m$. We thus get our desired deformation retraction of $N_\epsilon(y)$ onto $N^m_\epsilon(y)$. The deformation retraction from $N^m_\epsilon(y)$ to $y$ is obvious since $N^m_\epsilon(y)=\phi^m_\alpha(B(z,\epsilon^m_\alpha))$ and the ball $B(z,\epsilon^m_\alpha)$ retracts to $z$ in the obvious way. We are done.
Lemma 1. If $X$ is a compact metric space with metric $d$ and $A$, $B$ are closed disjoint subsets of $X$ then $d(A,B)=\inf_{a\in A}d(a,B)>0$. This implies that setting $\epsilon=d(A,B)/2$, $B(A,\epsilon)$ and $B(B,\epsilon)$ disjoint and in particular if $A$ is closed in $X$, $U$ is open in $X$ and $A\subseteq X$ there is $\epsilon>0$ such that $B(A,\epsilon)\subseteq U$. In the problem we use the fact that if $J\subseteq\partial D^n$ then $r((1-\delta,1]\times J)\subseteq B(J,\delta)$.
Proof. Assume $d(A,B)=0$ then there exist a sequence $a_n$ in $A$ such that $0=\lim_{n\to \infty}d(a_n,B)$. Since $X$ is compact we can pick a subsequence $a_{n_k}$ converging to $a\in A$ because $A$ is closed and since $x\mapsto d(x,B)$ is continuous we get $0=\lim_{k\to \infty}d(a_{n_k},B)=d(a,B)$ which means $a\in B$ because $B$ is closed, a contradiction. Thus $d(A,B)>0$
Lemma 2. If $X$ is a space generated by $X_n$ for $n\ge 0$ and each $X^n$ deformation retracts to $X^{n-1}$ for $n\ge 1$ then $X$ deformation retracts to $X_0$.
Proof. If $X\subseteq Y\subseteq Z$ and $F:Z\times [a,b]\to Z$ is a deformation retraction of $Z$ onto $Y$ and $G:Y\times [b,c]\to Y$ is a deformation retraction of $Y$ onto $X$ then define the deformation retraction $F\cdot G:Z\times [a,c]\to Z$ of $Z$ onto $X$ as
\begin{equation*}
F\cdot G(z,t)=
\begin{cases}
F(z,t)&t\in [a,b] \\
G(F(z,b),t)& t\in [b,c]
\end{cases}
\end{equation*}
It's easy to verify that $F\cdot G$ is indeed a deformation retraction and that $F\cdot G|Z\times [a,b]=F$ and $F\cdot G|Y\times [b,c]= G$ so $F\cdot G$ extends both $F$ and $G$. Now suppose $F_n:X_n\to [1/2^n,1/2^{n-1}]\to X_n$ is a deformation retraction of $X_n$ onto $X_{n-1}$ for each $n\ge 1$ and define inductively $D_1=F_1$ and for $n\ge 2$, $D_n=F_n\cdot D_{n-1}:X_n\times [1/2^n,1]\to X_n$ a deformation retraction of $X_n$ onto $X_0$. Now define $R_n=X_n\times I\to X_n$ as
\begin{equation*}
R_n(x,t)=
\begin{cases}
x & t\in[0, 1/2^n] \\
D_n(x,t) & t\in [1/2^n,1]
\end{cases}
\end{equation*}
It's clear that $R_n$ is well defined and that each $R_{n+1}$ extends $R_n$ so that we can define $R:X\times I\to X$ as $R(x,t)=R_n(x,t)$ for any $n$ such that $x\in X_n$. $R$ is continuous since each $R|X_n\times I=R_n$ is continous and the rest of the properties of a deformation retraction are easy to verify so $R$ is our desired deformation retraction of $X$ onto $X_0$.
EDIT: I found a much simpler way to define $F_\alpha$ and also to prove it's continuous. It's based in proposition A.17 which appears later and says that if $q:X\to Y$ is a quotient map then so is $q\times 1:X\times I\to Y\times I$ is also a quotient map. Let $T_\alpha:C_\alpha\times I\to C_\alpha$, $T_\alpha(x,t)=r(R_\alpha(r^{-1}(x),t))$ be a deformation retraction of $C_\alpha$ onto $\phi_\alpha^{-1}(V)$. Note that $C_\alpha$ is an open $\phi$-saturated subset of $D^n$ and thus $\phi_\alpha|C_\alpha:C_\alpha\to \phi_\alpha(C_\alpha)$ is a quotient map and then so is $\phi_\alpha|C_\alpha\times 1:C_\alpha\times I\to \phi_\alpha(C_\alpha)\times I$. Then $F_\alpha$ can be defined as the map that makes the following diagram commutative.
\begin{equation}
\begin{CD}
C_\alpha\times I @>\phi_\alpha|C_\alpha\times 1>> \phi_\alpha(C_\alpha)\times I\\
@VVT_\alpha V @VVF_\alpha V\\
C_\alpha @>\phi_\alpha>> \phi_\alpha(C_\alpha)
\end{CD}
\end{equation}