[guided]The point of this step is to justify that we may look for a special vector in $N$ among weight vectors, not just among arbitrary vectors. Let
\begin{align*}
Q_+ := \sum_{\gamma\in\Delta}\mathbb Z_{\ge 0}\gamma
\end{align*}
be the positive root monoid generated by the simple roots. Define the height map
\begin{align*}
\operatorname{ht}:Q_+&\to\mathbb Z_{\ge 0}
\end{align*}
as follows: if $\beta=\sum_{\gamma\in\Delta}m_\gamma\gamma$ is the unique expression of $\beta$ in the simple-root basis with $m_\gamma\in\mathbb Z_{\ge 0}$, then
\begin{align*}
\operatorname{ht}(\beta):=\sum_{\gamma\in\Delta}m_\gamma.
\end{align*}
For a Lie algebra $\mathfrak a$, write $U(\mathfrak a)$ for its universal enveloping algebra. By the PBW description of Verma modules [citetheorem:9374], every vector of $M(\lambda)$ is a finite sum of weight vectors, and the possible weights are of the form $\lambda-\beta$ with $\beta\in Q_+$.
Now take an element $v\in N$ and write its finite weight decomposition as
\begin{align*}
v=v_1+\cdots+v_m,
\end{align*}
where $v_j$ is a nonzero weight vector of weight $\mu_j\in\mathfrak h^*$, and the weights $\mu_1,\dots,\mu_m$ are pairwise distinct. We need to prove that each component $v_j$ still lies in $N$. The problem is that $N$ is known to be stable under $\mathfrak g$, not automatically under taking summands in an abstract [direct sum](/page/Direct%20Sum) decomposition. We isolate each summand using an operator built from $\mathfrak h$.
Fix $j\in\{1,\dots,m\}$. For every $i\ne j$, the weights $\mu_i$ and $\mu_j$ are distinct linear functionals on $\mathfrak h$, so there exists $h_i\in\mathfrak h$ such that
\begin{align*}
\mu_j(h_i)\ne\mu_i(h_i).
\end{align*}
Define
\begin{align*}
p_j:=\prod_{i\ne j}\frac{h_i-\mu_i(h_i)}{\mu_j(h_i)-\mu_i(h_i)}
\end{align*}
as an element of $U(\mathfrak h)$. The denominator in each factor is nonzero by the choice of $h_i$.
This operator acts as a projector onto the $j$-th weight component. Indeed, if $i\ne j$, then the factor $h_i-\mu_i(h_i)$ kills $v_i$, because $h_i$ acts on the weight vector $v_i$ by the scalar $\mu_i(h_i)$. On the other hand, for $v_j$, the same factor acts by the scalar
\begin{align*}
\frac{\mu_j(h_i)-\mu_i(h_i)}{\mu_j(h_i)-\mu_i(h_i)}=1.
\end{align*}
Thus every factor in $p_j$ acts as the identity on $v_j$, while at least one factor kills each other component. Hence
\begin{align*}
p_jv=v_j.
\end{align*}
Finally, because $N$ is a $\mathfrak g$-submodule, it is stable under the action of $U(\mathfrak g)$. Since $U(\mathfrak h)\subset U(\mathfrak g)$, the element $p_j$ sends $N$ to itself. Therefore $v_j=p_jv\in N$.[/guided]