The original question was to find $f:\mathbb{R} \rightarrow (0, \infty)$, which is fairly simple, as just plugging $y=0$ leaves us with $$f(x)[f(x)-2] = 0$$ and therefore, $f(x) = 0$ or $f(x) = 2$ for all the possible values of $x$. What I realized is that this implies that $f$ could be defined as a piecewise function, where $f(x)=0$ for some values and $f(x)=2$ for the remaining ones. The author of the problem cleverly evaded this by excluding $0$ from the range, and thus $f(x)=2$ is the sole solution.
However, my question is how would we solve $2f(x+y) = f(x-y)f(x)$ if we instead were seeking $f: \mathbb{R} \rightarrow \mathbb{R}$, and how would we rigorously write all the piecewise function solutions of $f(x) = 0$ or $2$?
If $f(x)=0$ for some $x$ then $f(x+y)=0$ for all $x$ from which it is clear that $f \equiv 0$.
Suppose $f(t)=2$ for some $t$. Let $s\in \mathbb R$. Take $x=\frac {t+s}2, y=\frac {t-s} 2$. Then we get $4=2f(t)=f(s)f(x)$. But this can hold only when $f(s)$ and $f(x)$ are both equal to $2$. Thus, $f(s)=2$ and $s$ is arbitarry.
We have proved that $f \equiv 0$ or $f \equiv 2$.