I believe Julien's proof is right and is also elegant, although there are a lot of typos in his write up. I'll rewrite it here (as Community Wiki), since there seems to be some doubt about that. Of course, this doesn't answer Julien's request for a different proof, but I see nothing wrong with his proof
I introduce the notation $Z(h)$ for the number of zeroes of $h$ on $(-1,1)$.
Let $f$ be as stated. If $f$ vanishes on $(-1,1)$ we are done so, without loss of generality, let $f(x)$ be positive on $(-1,1)$.
For any positive integer $k$, define
$$
g:=x\to \frac{f(x)}{(1-x^2)^k} \mbox{ for } |x|<1, \mbox{ and } 0 \mbox{ otherwise}
$$
L'Hospital's rule shows that $g$ is in $C^\infty(\mathbb{R},\mathbb{R})$, and $g$ is identically zero outside $(-1,1)$.
Choose $k$ such that
$$
0 = f(-1) \ < \ f\left(-\frac{1}{2}\right) (1-\frac14)^{-k} \ >\ f(0)\ < \ f\left(\frac{1}{2}\right) (1-\frac14)^{-k} \ > \ f(1) = 0.
$$
So
$$
0 = g(-1) \ < \ g(-1/2) \ >\ g(0)\ <\ g(1/2)\ >\ g(1) = 0.$$
Then $g'$ must be positive somewhere on $(-1,-1/2)$, negative somewhere on $(-1/2,0)$, positive somewhere on $(0,1/2)$ and negative somewhere on $(1/2,1)$. Thus $Z(g^{(1)}) \geq 3$, and the result holds for $g$ (instead of $f$), with $n=1$.
We will show that $Z(f^{(2k+1)}) \geq 2k+3$.
Lemma Let $p(x)$ be identically $0$ outside $(-1,1)$ and let $a$ be a real number not in $(-1,1)$. Set $q(x) = p(x) (x-a)$. Then $Z(q^{(n+1)}(x)) \geq Z(p^{(n)}(x))+1$.
Proof Let the zeroes of $p^{(n)}$ be $-1 < r_1 < r_2 < \cdots < r_m < 1$ and set $r_0=-1$ and $r_{m+1}=1$. Then $(x-a)^{n+1} p^{(n)}(x)$ vanishes at all the $r_i$, so by Rolle's theorem, $Z(\frac{d}{dx} ( (x-a)^{n+1} p^{(n)}(x) )) \geq m+1$. But $\frac{d}{dx} ( (x-a)^{n+1} p^{(n)}(x) ) = (x-a)^n q^{(n+1)}$, and $(x-a)^{n}$ doesn't vanish on $[-1,1]$, so $Z(q^{(n+1)}) \geq m+1$ as desired. $\square$
Basically, the lemma says that throwing in a non vanishing linear factor doesn't make the Rolle's theorem bound worse.
Now set $h_0 = g$, $h_1 = (1-x) h_0$, $h_2 = (1+x) h_1$, $h_3 = (1-x) h_2$, $h_4 = (1+x) h_3$ etcetera, until $h_{2k} = (1-x^2)^k h_0 = f$. Applying the lemma repeatedly gives
$$Z(f^{(2k+1)}) \geq Z(h_{2k-1}^{(2k)} )+1 \geq Z(h_{2k-2}^{2k-1})+2 \geq \cdots \geq Z(h_0^{(1)}) + 2k \geq 3+2k$$
as desired.
Best Answer
Combining the comments:
Assume by contradiction that $f$ has infinitely many zeroes in $[0,1]$. Then, we can find a sequence $x_n$ so that $f(x_n)=0$.
As $[0,1]$ is compact, $x_n$ has a converging subsequence. Lets call this subsequence $y_n$ and let $y=\lim_n y_n$.
Then by continuity $f(y)=0$ and $f'(y) =\lim_{x \to y} \frac{f(x)-f(y)}{x-y}=\lim_{n \to \infty} \frac{f(y_n)-f(y)}{y_n-y}=0$ contradiction.