$\def\norm#1{\lvert\lvert#1\rvert\rvert}\DeclareMathOperator\sign{sign}$
I think the answer is 'no' in a real vector space of dimension $n \geq 2$.
For a counterexample, let $f \colon \mathbb{R}^n \to \mathbb{R}$ be the function given by $f(x_1, \dotsc, x_n) = \sign(x_1)\sqrt{x_1^2 + \dotsb + x_n^2}$.
This satisfies the scaling condition, because
$$
\begin{align}
f( c(x_1, \dotsc, x_n))
&= f(cx_1, \dotsc, cx_n)
\\ &= \sign(cx_1)\sqrt{c^2 x_1^2 + \dotsb + c^2x_n^2}
\\ &= \sign(c)\sign(x_1)\sqrt{c^2}\sqrt{x_1^2 + \dotsb + x_n^2}
\\ &= \sign(c)|c|\sign(x_1)\sqrt{x_1^2 + \dotsb + x_n^2}
\\ &= cf(x_1, \dotsc f_n).
\end{align}
$$
Here $\sign \colon \mathbb{R} \to \mathbb{R}$ is the function defined by
$$
\sign(x) = \begin{cases}
1 & \text{if $x>0$} \\
0 & \text{if $x=0$} \\
-1& \text{if $x<0$}
\end{cases}.
$$
To see that $f$ does not respect addition, let $e_1 = (1, 0, 0, 0, \dotsc, 0)$ and $e_2 = (0, 1, 0, 0, \dotsc, 0)$, each containing only one entry equal to one.
Note that this is possible because we assumed $n \geq 2$.
Then
$$
\begin{align}
f(e_1 + e_2)
&= f(1, 1, 0, 0 , \dotsc, 0)
\\ &= \sqrt{1^2 + 1^2 + 0^2 + 0^2 + \dotsc 0^2}
\\ &= \sqrt 2.
\end{align}
$$
But since $f(e_1) + f(e_2) = 1 + 1 = 2 \neq \sqrt 2$, the second condition is not satisfied by $f$.
In dimension $1$ (again over the reals) the answer is yes, as explained by the argument by the poster of this question.