First of all, note that you can assume $F_i$ to be linearly independent. If not, just argue that removing from the list a linear combination of other functionals does not change things.
Next, show that you can find $x_i \in X$ such that $F_i(x_j) = \delta_{ij}$. This can be done by induction on the number of functionals. Case $N=1$ is simple enough. To get from $N-1$ to $N$, consider the projection $P(x) := x - \sum_{i<N} x_i F_i(x)$. With this definition, $F_i(P(x)) = 0$ for all $x$. I claim that there is $x$ such that $F_N(P(x)) \neq 0$: otherwise we have $0 = F_N(P(x)) = F_N(x) - \sum_{i<N} F_N(x_i) F_i(x)$, so $F_N$ is linear combination of $F_i$ with $i<N$. So, after rescaling, we can find $x$ such that $F_N(P(x)) = 1$. We can put $x_N = P(x)$, and check it works. This finishes the inductive proof.
Now that we have the sought $x_i$, consider again the projection $P(x) := x - \sum_{i\leq N} x_i F_i(x)$. For any $x$ we have $P(x) \in \ker F_i$, so by the assumption we also have $P(x) \in \ker F$. But now again we have $0 = F(P(x)) = F(x) - \sum_{i<N} F(x_i) F_i(x)$, so $F$ is a combination of $F_i$, as desired.
Edit: The final step is essentially the same as applying the inductively proved claim + supposition that $F$ is not in linear span of $F_i$, to the sequence of functionals $F_1,F_2,\dots,F_N,F_{N+1}:=F$. The $x_{N+1}$ that comes out is in $\bigcap_{i=1}^N \ker F_i$ but not in $\ker F_{N+1} = \ker F$, which is a contradiction.