By induction, (3) easily generalizes to
$$
\forall x_1,x_2,\ldots x_n, x_1+x_2+\ldots+x_n\in [0,1],
f\bigg(\sum_{k=1}^n x_k \bigg) \geq \sum_{k=1}^n f(x_k) \tag{4}
$$
Putting $x_1=x_2=\ldots=x_n=\frac{1}{n}$ in (4) and using (1), we deduce :
$$
f(\frac{1}{n}) \leq \frac{1}{n} \tag{5}
$$
Now, let $x\in [0,1]$ with $x\neq 0$. There is an integer $k$ such that
$\frac{1}{2^{k+1}} \lt x \leq \frac{1}{2^k}$. Using (3) with $y=\frac{1}{2^k}-x$,
we deduce $f(x)\leq f(\frac{1}{2^k})$. But $f(\frac{1}{2^k}) \leq \frac{1}{2^k}$ by
(5), and hence $f(x) \leq \frac{1}{2^k} \leq 2x$ as wished.
All that's left is the case $x=0$. But this is easy : taking $x_1=x_2=\ldots=x_n=0$ in (4) and using (1), we have $f(0) \leq \frac{1}{n}$ for all $n$, whence $f(0)\leq 0$ by pasing to the limit, whence $f(0)=0$ by (2).