The theorem says that if the function f is differentiable at α, then every directional derivate Dᵥf(α) exists, and dfₐ(v) = Dᵥf(α). Though the existence of every Dᵥf(α) does not imply the differentiability of f at a. For instance, in a homogenous function (f(tα ) = tf(α) for all α and t) we consider a parametrized arc λ(α) = f(0+tα) = f(tα) = tf(α) (it's linear) and λ'(0) = f(0) = 0 (it exists). Hence every directional derivate Dₐf(0) = f(α) (since f(0) = 0) exists. Now, if f is also differentiable, we have (by the theorem) dfₒ(α) = Dₐf(0). Then dfₒ = f.
It's said that f must be linear for dfₒ to exist. It's obvious that when f is a parametrized arc from R to V, then dfₒ(x) = xdfₒ(1) = xf '(0) is just the tangent vector, and it's clearly linear, and here if f = dfₒ then f must be linear for dfₒ to exist. But when the domain of f is not one-dimensional I don't understand the correlation between the linearity and existence of the differential.
My attempt: I only guess that it has something to do with the gradient of f. (So that if f is from R ͫ then the gradient is the vector whose m components are partial derivates of f at some point α, and with each of m derivates it probably goes as above) But that doesn't sound convincing. And still, where does the linearity of f come from?
As you said in your first paragraph: if $f$ is homogeneous and if $df_0$ exists, then $f=df_0$. Thus (since $df_0$ is always linear by definition) $f$ is linear.