10. Find all non-constant monic polynomials $f(x)$ with integer coefficients, such that there exists a positive integer $M$, for all positive integers $n \geqslant M$, $\frac{f\left(2^{n}\right)-2^{f(n)}}{f(n)}$ is an integer.
10. $f(x)=x$.

Let the prime $p$ satisfy $p \mid f(n)$. Then for any non-negative integer $k$, we have
$$
\begin{array}{l}
p \mid f(n+p k), \\
f(n+p k) \mid\left(f\left(2^{n+p k}\right)-2^{f(n+p k)}\right). \\
\text { Thus, }, p \mid\left(f\left(2^{n+p k}\right)-2^{f(n+p k)}\right).
\end{array}
$$

By Fermat's Little Theorem, we know
$$
p \mid\left(f\left(2^{n+k}\right)-2^{f(n+k)}\right).
$$

For a fixed positive integer $r>M$, let the prime $p$ divide $f\left(2^{r}\right)$, and take a sufficiently large positive integer $m$ such that
$m \equiv r(\bmod p-1)$.
By Fermat's Little Theorem, we know
$p \mid f\left(2^{m}\right)$.
Since $p \mid\left(f\left(2^{m}\right)-2^{f(m)}\right)$, it follows that $p=2$.
This indicates that for all positive integers $r>M$, $f\left(2^{r}\right)$ is a power of 2.

Assume $f(0) \neq 0$, then for all positive integers $r>M$, we have
$f\left(2^{r}\right) \equiv f(0)\left(\bmod 2^{r}\right)$.
Thus, $\left|f\left(2^{r}\right)\right| \leqslant|f(0)|$.
Since $f$ is not a constant polynomial, this is impossible, leading to a contradiction.
Therefore, $f(0)=0$.
Let $f(x)=x^{d} g(x)$, where $d$ is a positive integer,
$g(x)$ is a monic polynomial with integer coefficients, and $g(0) \neq 0$.
Similarly, for all sufficiently large positive integers $r$, $g\left(2^{r}\right)$ is a power of 2, and combining this with $g(0) \neq 0$, we know that $g(x)$ is a constant function, and $g(x)=1$.
Thus, for all real numbers $x$, $f(x)=x^{d}$.
For all odd primes $p$, we have $f(p)=p^{d}$.
When $p>M$,
$$
p^{d}\left|\left(2^{p d}-2^{p^{d}}\right) \Rightarrow p\right|\left(2^{p^{d}}-2^{p d}\right).
$$

By Fermat's Little Theorem, we get
$$
\begin{array}{l}
p\left|\left(2^{p^{d}}-2^{d}\right) \Rightarrow p\right|\left(2^{p^{d}-d}-1\right) \\
\Rightarrow p \mid\left(2^{d-1}-1\right).
\end{array}
$$

When $p$ is sufficiently large, we have $2^{d-1}=1$, thus, $d=1$.
Therefore, for all real numbers $x$, $f(x)=x$.
Conversely, if $f(x)=x$, then for any positive integer $n$, we have $\frac{f\left(2^{n}\right)-2^{f(n)}}{f(n)}=0$ is an integer.
Thus, the polynomial that satisfies the condition is $f(x)=x$.