[proofplan]
We prove both directions separately. For the forward direction, we assume $M$ is noetherian (equivalently, satisfies ACC on submodules) and show that an arbitrary submodule $N \subseteq M$ is finitely generated by applying the maximal condition to the collection of finitely generated submodules of $N$. For the converse, we assume every submodule of $M$ is finitely generated and show ACC holds by observing that the union of any ascending chain is a submodule, hence finitely generated, and all generators lie in a single term of the chain.
[/proofplan]
[step:Show that the noetherian condition implies every submodule is finitely generated via the maximal condition]
Let $N \subseteq M$ be a submodule. Define
\begin{align*}
\Sigma = \{ N' \subseteq N : N' \text{ is a finitely generated submodule of } N \}.
\end{align*}
The set $\Sigma$ is non-empty because $0 \in \Sigma$ (the zero submodule is generated by the empty set). Since $M$ is noetherian, every non-empty collection of submodules of $M$ has a maximal element (this is equivalent to ACC). In particular, $\Sigma$ has a maximal element $N_0$.
We claim $N_0 = N$. Suppose for contradiction that $N_0 \neq N$. Then there exists $x \in N \setminus N_0$. Consider the submodule $N_0 + Rx$. Since $N_0$ is finitely generated, say $N_0 = (x_1, \ldots, x_k)$, the submodule $N_0 + Rx = (x_1, \ldots, x_k, x)$ is also finitely generated. Moreover $N_0 + Rx \subseteq N$ because both $N_0 \subseteq N$ and $x \in N$. Since $x \notin N_0$, the inclusion $N_0 \subsetneq N_0 + Rx$ is strict, contradicting the maximality of $N_0$ in $\Sigma$. Therefore $N_0 = N$, and $N$ is finitely generated.
[guided]
We want to show that every submodule of a noetherian module is finitely generated. The idea is to use the **maximal condition**, which is equivalent to ACC: in a noetherian module, every non-empty collection of submodules has a maximal element.
Let $N \subseteq M$ be a submodule. Define
\begin{align*}
\Sigma = \{ N' \subseteq N : N' \text{ is a finitely generated submodule of } N \}.
\end{align*}
This set is non-empty because the zero submodule $0$ is finitely generated (generated by the empty set), and $0 \subseteq N$.
Why does $\Sigma$ have a maximal element? The noetherian condition on $M$ is equivalent to the statement that every non-empty collection of submodules of $M$ has a maximal element. Every member of $\Sigma$ is a submodule of $M$ (since $N \subseteq M$), so $\Sigma$ has a maximal element $N_0$.
We now argue that $N_0 = N$. Suppose for contradiction that $N_0 \neq N$. Then there exists some $x \in N \setminus N_0$. Since $N_0$ is finitely generated, say $N_0 = (x_1, \ldots, x_k)$ for elements $x_1, \ldots, x_k \in N_0$, the submodule $N_0 + Rx$ is generated by $x_1, \ldots, x_k, x$ and is therefore finitely generated. Moreover, $N_0 + Rx \subseteq N$ because $N_0 \subseteq N$ and $x \in N$. But $x \notin N_0$ implies $N_0 \subsetneq N_0 + Rx$, so $N_0 + Rx$ is a strictly larger element of $\Sigma$ than $N_0$. This contradicts the maximality of $N_0$ in $\Sigma$.
Therefore $N_0 = N$, and $N$ is finitely generated. Since $N$ was an arbitrary submodule of $M$, every submodule of $M$ is finitely generated.
[/guided]
[/step]
[step:Show that the finite generation condition implies ACC by taking the union of an ascending chain]
Suppose every submodule of $M$ is finitely generated. Let
\begin{align*}
M_0 \subseteq M_1 \subseteq M_2 \subseteq \cdots
\end{align*}
be an ascending chain of submodules of $M$. Define $N = \bigcup_{i=0}^{\infty} M_i$. This is a submodule of $M$: for any $x, y \in N$, there exist indices $i, j$ with $x \in M_i$ and $y \in M_j$; setting $k = \max(i, j)$, both $x, y \in M_k$, so $x + y \in M_k \subseteq N$ and $rx \in M_i \subseteq N$ for all $r \in R$.
By hypothesis, $N$ is finitely generated: $N = (x_1, \ldots, x_\ell)$ for some $x_1, \ldots, x_\ell \in N$. Each generator $x_j$ lies in some $M_{n_j}$. Set $m = \max(n_1, \ldots, n_\ell)$. Then $x_1, \ldots, x_\ell \in M_m$, so $N = (x_1, \ldots, x_\ell) \subseteq M_m \subseteq N$, which gives $M_m = N$. For all $i \geq m$, we have $M_m \subseteq M_i \subseteq N = M_m$, so $M_i = M_m$. The chain stabilises at index $m$, and $M$ is noetherian.
[guided]
Now we prove the converse: if every submodule of $M$ is finitely generated, then $M$ satisfies ACC on submodules. The key observation is that the union of an ascending chain of submodules is itself a submodule.
Let
\begin{align*}
M_0 \subseteq M_1 \subseteq M_2 \subseteq \cdots
\end{align*}
be an ascending chain of submodules of $M$. Define $N = \bigcup_{i=0}^{\infty} M_i$.
We first verify that $N$ is a submodule of $M$. Let $x, y \in N$ and $r \in R$. Then $x \in M_i$ and $y \in M_j$ for some indices $i, j$. Setting $k = \max(i, j)$, both $x$ and $y$ belong to $M_k$ (since the chain is ascending). Therefore $x + y \in M_k \subseteq N$ and $rx \in M_i \subseteq N$. Also $0 \in M_0 \subseteq N$, so $N$ is a submodule.
By hypothesis, $N$ is finitely generated: there exist elements $x_1, \ldots, x_\ell \in N$ with $N = (x_1, \ldots, x_\ell)$. Since each $x_j \in N = \bigcup_i M_i$, each $x_j$ belongs to some $M_{n_j}$. Define $m = \max(n_1, \ldots, n_\ell)$. Because the chain is ascending, $x_j \in M_{n_j} \subseteq M_m$ for every $j$, so all generators of $N$ lie in $M_m$.
It follows that $N = (x_1, \ldots, x_\ell) \subseteq M_m$. But $M_m \subseteq N$ by construction of $N$. Therefore $M_m = N$. For any $i \geq m$, we have $M_m \subseteq M_i \subseteq N = M_m$, so $M_i = M_m$. The chain stabilises at index $m$, which proves that $M$ satisfies ACC, i.e., $M$ is noetherian.
[/guided]
[/step]