[proofplan]
Uniqueness follows from the fact that pure tensors $\{m \otimes n : m \in M, n \in N\}$ generate $M \otimes_R N$ as an $R$-module. For existence, we define an $R$-bilinear map $M \times N \to M' \otimes_R N'$ by $(m, n) \mapsto f(m) \otimes g(n)$ and apply the universal property of the tensor product.
[/proofplan]
[step:Establish uniqueness from the generating property of pure tensors]
The $R$-module $M \otimes_R N$ is generated by the set of pure tensors $\{m \otimes n : m \in M, n \in N\}$: every element of $M \otimes_R N$ is a finite $R$-linear combination $\sum_{i=1}^k r_i (m_i \otimes n_i)$ for some $r_i \in R$, $m_i \in M$, $n_i \in N$.
Suppose $\alpha, \beta: M \otimes_R N \to M' \otimes_R N'$ are two $R$-module homomorphisms satisfying $\alpha(m \otimes n) = f(m) \otimes g(n) = \beta(m \otimes n)$ for all $m \in M$, $n \in N$. Then for any element $z = \sum_{i=1}^k r_i(m_i \otimes n_i) \in M \otimes_R N$,
\begin{align*}
\alpha(z) = \sum_{i=1}^k r_i \alpha(m_i \otimes n_i) = \sum_{i=1}^k r_i (f(m_i) \otimes g(n_i)) = \sum_{i=1}^k r_i \beta(m_i \otimes n_i) = \beta(z),
\end{align*}
where we use the $R$-linearity of $\alpha$ and $\beta$. Hence $\alpha = \beta$.
[/step]
[step:Construct $f \otimes g$ via the universal property of the tensor product]
Define the map $\varphi: M \times N \to M' \otimes_R N'$ by $\varphi(m, n) = f(m) \otimes g(n)$.
We verify that $\varphi$ is $R$-bilinear. For the first argument: let $m_1, m_2 \in M$, $n \in N$, and $r \in R$. Then
\begin{align*}
\varphi(m_1 + m_2, n) &= f(m_1 + m_2) \otimes g(n) = (f(m_1) + f(m_2)) \otimes g(n) \\
&= f(m_1) \otimes g(n) + f(m_2) \otimes g(n) = \varphi(m_1, n) + \varphi(m_2, n),
\end{align*}
using the $R$-linearity of $f$ and the bilinearity of the tensor product in $M' \otimes_R N'$. Similarly,
\begin{align*}
\varphi(rm, n) = f(rm) \otimes g(n) = (rf(m)) \otimes g(n) = r \cdot (f(m) \otimes g(n)) = r \cdot \varphi(m, n).
\end{align*}
For the second argument: let $m \in M$, $n_1, n_2 \in N$, and $r \in R$. Then
\begin{align*}
\varphi(m, n_1 + n_2) &= f(m) \otimes g(n_1 + n_2) = f(m) \otimes (g(n_1) + g(n_2)) \\
&= f(m) \otimes g(n_1) + f(m) \otimes g(n_2) = \varphi(m, n_1) + \varphi(m, n_2),
\end{align*}
and $\varphi(m, rn) = f(m) \otimes g(rn) = f(m) \otimes (rg(n)) = r \cdot (f(m) \otimes g(n)) = r \cdot \varphi(m, n)$.
Since $\varphi: M \times N \to M' \otimes_R N'$ is $R$-bilinear, the universal property of $M \otimes_R N$ yields a unique $R$-module homomorphism $f \otimes g: M \otimes_R N \to M' \otimes_R N'$ satisfying
\begin{align*}
(f \otimes g)(m \otimes n) = \varphi(m, n) = f(m) \otimes g(n)
\end{align*}
for all $m \in M$, $n \in N$. Together with the uniqueness established in the previous step, this completes the proof.
[guided]
The existence argument follows a standard pattern for constructing maps out of tensor products. We cannot define $f \otimes g$ directly on $M \otimes_R N$ by specifying its value on pure tensors, because an element of $M \otimes_R N$ may have multiple representations as sums of pure tensors --- we would need to verify that the definition is independent of the representation. The universal property of the tensor product handles this for us automatically.
The universal property states: for any $R$-bilinear map $\varphi: M \times N \to Q$ (where $Q$ is any $R$-module), there exists a unique $R$-module homomorphism $\widetilde{\varphi}: M \otimes_R N \to Q$ with $\widetilde{\varphi}(m \otimes n) = \varphi(m, n)$. So to construct $f \otimes g$, we just need to exhibit an $R$-bilinear map $M \times N \to M' \otimes_R N'$.
The natural candidate is $\varphi(m, n) = f(m) \otimes g(n)$. The verification of $R$-bilinearity uses two ingredients: (1) the $R$-linearity of $f$ and $g$ (to distribute sums and scalars through $f$ and $g$), and (2) the bilinearity of the tensor product pairing in $M' \otimes_R N'$ (to distribute sums and scalars through $\otimes$). With both ingredients, we confirmed:
\begin{align*}
\varphi(m_1 + m_2, n) &= \varphi(m_1, n) + \varphi(m_2, n), \\
\varphi(rm, n) &= r \cdot \varphi(m, n), \\
\varphi(m, n_1 + n_2) &= \varphi(m, n_1) + \varphi(m, n_2), \\
\varphi(m, rn) &= r \cdot \varphi(m, n).
\end{align*}
The universal property now gives the desired homomorphism $f \otimes g = \widetilde{\varphi}$, and uniqueness was already shown in the previous step.
[/guided]
[/step]