[*Edited to add sharper bound (number of sign changes) and connection
with "Descartes' Rule of Signs"*]

Yes, the zeros at $x=1,2,\ldots,i-1$ are the only real zeros of $f_i$.

We prove that in general an "exponential polynomial" with $d+1$ nonzero
terms, i.e. $A(x) = \sum_{j=1}^{d+1} a_j \exp(\lambda_j x)$
with distinct $\lambda_j \in {\bf R}$ and each $a_j \in {\bf R}^*$,
can have at most $d$ real roots, counted with multiplicity.
We use induction on $d$, the base case $d=0$ being trivial.
Suppose we've proved the case $d-1$ for some $d>0$.
Now $A_0(x) := e^{-\lambda_1 x} A(x)$ is an exponential polynomial,
with the same number of nonzero terms and the same roots as $A$,
whose $j=1$ term is constant. Hence $A'_0(x) := \frac{d}{dx}(A_0(x))$ is an
exponential polynomial with only $d$ nonzero terms. By the inductive
hypothesis, it thus has at most $d-1$ real roots. But by Rolle's
theorem (easily generalized to allow multiple roots), there's at least
one root of $A'_0(x)$ between each consecutive pair of roots of $A_0$, and
thus of $A$. Therefore $A$ can have no more than $d$ roots with
multiplicity. This completes the induction step and the proof.

In the case at hand, $d=i-1$, each $\lambda_j = \log j$, and each $a_j
= (-1)^{i-j} {i \choose j}$. Having already located $i-1=d$ distinct
real roots of $A$, we deduce that there are no others (and that each of
the known roots is simple). **QED**

[*added later*] It is no accident that in our case, where $A(x)$
actually has $d$ distinct roots, the coefficients $a_j$ alternate
in sign when the $\lambda_j$ are listed in increasing order.
Indeed if we assume without loss of generality that
$\lambda_1 < \lambda_2 < \cdots < \lambda_{d+1}$
then the number of real roots (counted with multiplicity) is at most
the number, call it $s$, of sign changes in the coefficient sequence
$(a_1,a_2,\ldots,a_{d+1})$; that is, at most the number of
$j \in \lbrace 1,2,\ldots,d \rbrace$ such that $a_j a_{j+1} < 0$.

To see this, we argue by induction as above, noting also that
$A_0(x) = \sum_{j=1}^{d+1} a_j \exp((\lambda_j - \lambda_1) x)$
has $\lambda_j - \lambda_1 > 0$, so each coefficient
$(\lambda_j - \lambda_1) a_j$ of $A'_0(x)$ has the same sign as $a_j$
for $j>1$. Thus if $a_1 a_2 < 0$ then $A'_0(x)$ has $s-1$ sign changes,
and we're done as before. If $a_1 a_2 > 0$ then $A'_0(x)$
has $s$ sign changes. But then $A_0$ is monotone on $x \leq x_0$
where $x_0$ is the smallest root of $A'_0(x)$.
Since the two leading terms of $A_0$ as $x \rightarrow -\infty$
have the same sign, it follows that $A_0$ does not vanish on
$x \leq x_0$, and thus by Rolle that $A_0$ has no more real zeros
than its derivative. Therefore in this case too $A_0$ has at most $s$
real zeros. This completes the inductive step and the proof. **QED**

This argument may feel familiar, most likely because the same technique
proves Descartes' "rule of signs", which bounds the number of positive
roots of an ordinary real polynomial by its number of sign changes.
Indeed this "rule of signs" is equivalent to the special case
$\lambda_j \in \lbrace 0, 1, 2, \ldots \rbrace$ of our bound,
when $A(x)$ is an ordinary polynomial in $e^x$.