If you do not require monotonicity of $f$, the construction is pretty simple and is a combination of a few facts we normally (should) teach in elementary number theory and Fourier analysis classes. However, the monotonicity condition seems rather natural to impose and it seems to change the game completely, so look at what's below as a partial answer only.
Let $\varphi(n)$ denote Euler's $\varphi$-function.
Observation 1. $\varphi(n)\ge c_{\delta}n^{1-\delta}$ for every $\delta>0$ with some $c_\delta>0$.
Indeed, $1-\frac 1p\ge c_{p,\delta}p^{-\delta}$ for primes $p$ for every $\delta>0$ with $c_{p,\delta}>0$ for all $p$ and $=1$ for all but finitely many $p$, so $c_\delta=\prod_pc_{p,\delta}$ works.
Observation 2. Let $m$ be an integer. Then for $\ell>0$,
$$
\#\{k\in\{1,\dots,n\}:(k,n)=1, |\tfrac kn-\tfrac 1m|<\ell\}\le A_m(\ell)\varphi(n)
$$
for all $n>m$ with some $A_m(\ell)\to 0$ as $\ell\to 0$.
Indeed, consider $u\ne 0$ and look at the sums $S_u(n)=\sum_{1\le k\le n,(k,n)=1}e^{2\pi i uk/n}$.
We have
$$
\sum_{d|n}S_u(d)=\sum_{1\le k\le n}e^{2\pi i uk/n}=\psi(n)
$$
with $\psi(n)=0$ if $n\not\mid u$ and $n$ if $n\mid u$. Hence, by the Mobius inversion formula,
$$
|S_u(n)|=\left|\sum_{d|n}\mu(n/d)\psi(d)\right|\le\sum_{d\ge 1}\psi(d)\le u^2
$$
for all $n$. Now just apply the Weil equidistribution criterion to conclude that
$$
A_m(n)=\frac 1{\varphi(n)}\#\{k\in\{1,\dots,n\}:(k,n)=1, |\tfrac kn-\tfrac 1m|<\ell\}\to 2\ell
$$
as $n\to\infty$, so $A_m(n)\le\varepsilon$ if $\ell<\varepsilon/3$ and $n\ge n_\varepsilon$. However, if $m<n<n_\varepsilon$ and $\ell<\frac 1{mn_\varepsilon}$, the set under consideration is empty.
Observation 3. There is a continuous on $(0,1]$ function $g$ tending to $-\infty$ at $0$ such that
$$
\sum_{1\le k\le n,(k,n)=1}g(k/n)\ge \varphi(n)
$$
for all $n$.
Indeed, just put $g(t)=2-\Delta\sum_{u\ge 1}\frac{\cos\pi ut}u$.
We have
$$
\left|\sum_{u\ge U}\frac{\cos\pi ut}u\right|\le \frac C{Ut}\,
$$
so the series converges uniformly outside any neighborhood of $0$ and
$$
\sum_{1\le k\le n,(k,n)=1}g(k/n)\ge 2\varphi(n)-\Delta\left[
2\Re\sum_{1\le u< U} \frac 1u S'_u(n)+ \frac CU\sum_{1\le k\le n}\frac nk\right]
\\
\ge 2\varphi(n)-\Delta[U^2+\frac CUn(1+\log n)]
$$
where $S'_u(n)=S_{u/2}(n)$ for even $u$ and $0$ for odd $u$ by symmetry (if $(k,n)=1$, then $(n-k,n)=1$ and $(n,n)=n\neq 1$ for
$n>1$), so we can choose $U\approx n^{1/3}$ and use Observation 1 to get the result for large $n$ and then choose $\Delta>0$ small enough to serve small $n$ as well.
Now the main construction. Take our function $g$ and inductively make disjoint dips in it at the points $1/n$ within the distance $\ell_n$ so that for the resulting function $G\le g$,
$$
\sum_{1\le k\le n,(k,n)=1}G(k/n)=0
$$
for all $n$. Clearly, then $f=e^G$ will satisfy $\prod_{k=1}^nf(k/n)=1$ for all $n$ and be continuous on $[0,1]$ with $f(0)=0$. The only danger we may encounter is that because of the previous dips we may be forced to go up, not down, when killing the $n$-th sum by modifying $g(1/n)$. However, if we need a value drop of size $Q_m$ near $1/m$, we can choose $\ell_m$ so small that $\sum_{m\ge 1}Q_m A_m(\ell_m)<1$ (note that we know $Q_m$ after we made our dips up to $m-1$ and are still completely free to choose $\ell_m$). In that case our initial sum (before we made the dip at $1/n$) will be at least
$$
\sum_{1\le k\le n:(k,n)=1}g(k/n)-\sum_{m<n}Q_m\#\{k\in\{1,\dots,n\}:(k,n)=1, |\tfrac kn-\tfrac 1m|<\ell_m\}
\\
\ge \left(1-\sum_{m<n}Q_mA_m(\ell_m)\right)\varphi(n)>0\,,
$$
so, indeed, we still need to go down at $1/n$.
Remarks. 1) In Tao's "post-rigorous" language, the construction is just "Take anything with the limit $+\infty$ and push it down successively at $1/n$ to make the products exactly $1$ within intervals so short that the pushes do not change the overall tendency to go up", but I couldn't resist the temptation to chase a few $\varepsilon$s. 2) If you do not like those ugly upside down spikes in $G$ accumulating at $0$, I share your feelings, hence the comment in the beginning of the post :-).