This identity a generalisation of the fact that
$$ f(m)f(n) = f(mn) $$
whenever $(m,n)=1$, which holds for any multiplicative function $f$. On seeing this, it's a natural question what happens when $m$ and $n$ are not coprime.
So we're asking for what $f(m)f(n)$ is for a multiplicative function for general $n$. We expect that $f(mn)$ is a 'main term' - indeed, if $f$ is completely multiplicative, then this is exactly what it is. And we know that it is also what it is when $(m,n)=1$. So we expect something like
$$ f(m)f(n) = f(mn) + E$$
where $E$ is some correction term that should depend only on $(m,n)$ and $mn$, and should vanish if $(m,n)=1$ or if $f$ is completely multiplicative.
The exercise gives an explicit form for $E$. As you say, there is some amount of calculation involved, but a small amount of trial and error would naturally lead to the correct form. One might begin, for example, by saying that we should measure how far the multiplicative $f$ is from being completely multiplicative. Completely multiplicative means $f(p^{n+1})=f(p)f(p^n)$, so one might define the function $F(p^{n})=f(p^{n+1})-f(p)f(p^n)$.
If you try and put that into $f(m)f(n)-f(mn)-E$ then it becomes apparent that it would be very convenient for an inductive argument if $F(p^n)$ could be 'factored' as $g(p)f(p^{n-1})$. Thus the hypothesis in the exercise.
The only completely multiplicative increasing functions $\mathbb{N} \to \mathbb{N}$ are of the form $f(n) = n^j$ for some positive integer $j$.
To prove this, let $f(2) = 2^w$ for some real number $w$. Then consider $f(k)$.
Suppose that $f(k) > k^w$. In this case, we have $\log_2(f(k)) > w \log_2(k)$ and therefore $\log_2(k) < \frac{\log_2(f(k))}{w}$.
The rational numbers are dense, so take some $a \in \mathbb{N}, b \in \mathbb{N}, b > 0$ such that $\log_2(k) < \frac{a}{b} < \frac{\log_2(f(k))}{w}$.
Then we see that $k^b < 2^a$. Therefore, $f(k)^b = f(k^b) < f(2^a) = f(2)^a = 2^{w \cdot a}$. But we also see that $2^{w \cdot a} < f(k)^b$. Contradiction.
Similarly, suppose $f(k) < k^w$. In that case, we have $\log_2(k) > \frac{\log_2(f(k))}{w}$.
By the density of the rational numbers, we take some $a, b \in \mathbb{N}$, $b > 0$ such that $\frac{\log_2(f(k))}{w} < \frac{a}{b} < \log_2(k)$.
From $\frac{a}{b} < \log_2(k)$, we derive that $2^a < k^b$ and hence that $2^{a \cdot w} = f(2)^a = f(2^a) < f(k^b) = f(k)^b$. From $\frac{\log_2(f(k))}{w} < \frac{a}{b}$, we derive that $f(k)^b < 2^{a \cdot w}$. Again, we have a contradiction.
Therefore, we see that $f(k) = k^w$ for all $k$.
Clearly, we must have $w > 0$ to make $f$ increasing. And since $n^w$ is an integer for all $n$, we see that $w$ must be an integer.
So the answer is that the only possible values of $f(2)$ are the even powers of 2.
Best Answer
You can construct any completely multiplicative function $g$ by first defining $g(p)$ for primes $p$ and then the multiplicativity property forces $g(n)$ for general $n$ to be
$$ n=\prod p^e \quad\implies\quad g(n)=\prod f(p)^e. $$
You can also define any (not necessarily completely) multiplicative function $g$ by defining $g(p^e)$ for all prime powers $p^e$ and then $g(n)=\prod f(p^e)$. (Note $g(1)=1$ is assumed.)