Assume $0\in Fix(p)$ and $U$ is a small neighborhood of $0$. Let $f(x)=x-p(x)$. Identifying $\mathbb R^n$ with $T_0\mathbb R^n$, set $\pi_{\mathrm{ker}(dp(0))}$ to be the projection $\mathbb R^n\to\mathrm{ker}(dp(0))$. Then $g=\pi_{\mathrm{ker}(dp(0))}\circ f$ is smooth and regular at $0$, so $M=g^{-1}(0)$ is a manifold of dimension equal to the rank of $dp(0)$. By construction, $M$ contains $Fix(p)$. On the other hand, since $Fix(p)$ is the image of $p$, $p$ preserves $M$. Thus, $p|_M$ is a smooth retraction of full rank on $M$. In particular, it's a local diffeomorphism (since it has full rank), and since it's a retraction and we're working in a small neighborood of $0$, it's the identity.