When studying this theorem, I found it useful the concept of slice chart [cf. John M. Lee - Introduction to Smooth Manifolds]
Definition: A chart $\chi\colon U\to U'$ in an $n$-manifold $X$ is an $m$-slice chart for a subset $S\subseteq X$ if there exists a constant $\mathbf c\in\mathbb R^{n-m}$ and $n-m$ indexes $i_1,\dots,i_{n-m}$ such that
$$
S\cap U = \{\pi\circ\chi=\mathbf c\},
$$
where $\pi$ is the projection $(x_1,\dots,x_n)\mapsto(x_{i_1},\dots,x_{i_{n-m}})$.
The relevant result here is the following
Lemma
Every embedded $m$-submanifold $Y\subseteq X$ can be covered by $m$-slice charts for $Y$.
Every topological subspace $Y\subseteq X$ that can be covered by $m$-slice charts for it has a smooth structure that makes it into an embedded submanifold of $X$.
Proof (sketch)
- Take charts $x\colon U\to U'$ and $y\colon Y\cap U\to V'$ such that, for $\bar\iota(x_1,\dots,x_m)=(x_1,\dots,x_m,0,\dots,0)$ we have

- Take an $m$-slice chart $x\colon U\to U'$ for $Y\cap U$. After reordering coordinates
$$
Y\cap U = \{\pi\circ x=\mathbf c\},
$$
where $\pi(x_1,\dots,x_n)=(x_{m+1},\dots,x_n)$. Let $\bar\pi(x_1,\dots,x_n)=(x_1,\dots,x_m)$ be the complementary projection. Then, for $y=\bar\pi\circ x\circ\iota$ and $\jmath\colon(x_1,\dots,x_m)\mapsto(x_1,\dots,x_m,c_1,\dots,c_{n-m})$, we can use the following diagram to verify that (1) $y$ is a bijection and (2) any transition between two of these bijections is smooth.

Theorem. If $X$ is an $m$-submanifold embedded in $\mathbb R^n$, its normal bundle $\mathbf N(X)$ has a structure of $n$-submanifold embedded in $\mathbb R^{2n}$.
Proof (sketch)
By definition $\mathbf N(X)$ is a topological subspace of $X\times\mathbb R^n$. Therefore, it is enough to show that $\mathbf N(X)$ can be covered with $m$-slice charts. The idea is to take a slice chart $\chi\colon U\to U'$ for $X$ and produce a slice chart for $\mathbf N(X)$.
We may assume that $U\cap X=\{\pi\circ\chi=\mathbf0\}$. Put $\varphi=\pi\circ\chi$. Then $d\varphi(p)\colon\mathbb R^n\to\mathbb R^{n-m}$ satisfies
$$
\textrm{im}(d\varphi(p)^T)=T_p(X)^\perp\tag1
$$
To see this observe that $T_p(X)=\ker(d\varphi(p))$ because $\subseteq$ + $=$ dim. Then $d\varphi(p)^T$ is mono with image $T_p(X)^\perp$, again $\subseteq$ + $=$ dim.
Next observe that
$$
d\varphi(p)^T = d\chi(p)^T\circ\iota,\tag2
$$
where $\iota(z_{m+1},\dots,z_n)=(0,\dots,0,z_{m+1},\dots, z_n)$ is the transpose of $\pi$.
We can now prove that
\begin{align*}
\Phi\colon U\times\mathbb R^n&\to U'\times\mathbb R^n\\
(p,\mathbf w)&\mapsto(\chi(p),(d\chi(p)^T)^{-1}(\mathbf w)).
\end{align*}
defines an $n$-slice chart for $\mathbf N(U\cap X)=\mathbf N(X)\cap U\times\mathbb R^n$.
To see this observe, using $(1)$, that
$$
(p,\mathbf w)\in \mathbf N(U\cap X)\iff \chi(p)\in\{\bar\pi=\mathbf0\}
\textrm{ and }\mathbf w\in\textrm{im}(d\varphi(p)^T),\tag3
$$
where $\bar\pi\colon U'\to\pi(U')\subseteq\pi\colon(x_1,\dots,x_n)\mapsto(x_{m+1},\dots,x_n)$.
Therefore, for $(q,\mathbf v)=\Phi(p,\mathbf w)$, we have $q=\chi(p)$ and $d\chi(p)^T(\mathbf v)=\mathbf w$. Then
\begin{align*}
(q,\mathbf v)\in\Phi(\mathbf N(U\cap X)) &\iff (p,\mathbf w)\in \mathbf N(U\cap X)\\
&\iff \chi(p)\in\{\bar\pi=\mathbf0\}
\textrm{ and }\mathbf w\in\textrm{im}(d\chi(p)^T\circ\iota)
&&\textrm{; by }(2)\textrm{ and }(3)\\
&\iff q\in\{\pi=\mathbf0\}\cap U'\textrm{ and }\mathbf v\in\textrm{im}(\iota),
\end{align*}
which completes the proof because
$$
2n-\dim\{\pi=0\}-\dim\textrm{im}(\iota)= 2n - m - (n-m) = n.
$$