Let $x\in[0,1]$. We construct two sequences $\{a_n\}_{n\in\mathbb{N}}$, $\{b_n\}_{n\in\mathbb{N}}$ the following way:
Let $a_0=0$, $b_0=1$.
Now fix $n\in\mathbb{N}$. By how we construct this sequence (which will be clear soon), we have that $x\in[a_n,b_n]$. Set $\xi=\frac{a_n+b_n}{2}$. If $x\in[a_n,\xi]$, set $a_{n+1}=a_n$ and $b_{n+1}=\xi$, otherwise set $a_{n+1}=\xi$ and $b_{n+1}=b_n$.
In particular by this construction, the two sequences are bounded and monotone, so they converge, i.e. $a_n\to a$ and $b_n\to b$ as $n\to\infty$. Now notice that
$$\lvert b_n-a_n\rvert=\frac{1}{2^n},$$
and so letting $n\to\infty$, we get that $a=b$.
Now notice furthermore that, since you've shown that $f$ is non-negative,
$$0\leq f\left(\frac{a_n+b_n}{2}\right)\leq f(a_n)+f(b_n),$$
and so since $f(a_0)=f(b_0)=0$, and all terms in the sequences are either on the form $\frac{a_k+b_k}{2}$, or $a_0$ or $b_0$, it follows by the above inequality that $f(a_n)=f(b_n)=0$ for all $n\in\mathbb{N}$. In particular then,
$$f(a)=\lim_{n\to\infty}f(a_n)=0.$$
Finally, notice that by construction, we always have that $a_n\leq x\leq b_n$ for all $n\in\mathbb{N}$, and so letting $n\to\infty$, we get that (since $b=a$) $x=a$. Thus
$$f(x)=f(a)=0.$$
Since $x$ was arbitrary, this means that $f(x)=0$ for all $x\in[0,1]$, and so $f$ is the zero function.