You're asking to show
$$(1+x)^p\leq1+x^p \tag{1}\label{eq1A}$$
iff $0\leq p<1$ and $x>0$. Well, if $p = 1$, then \eqref{eq1A} is obviously true. Nonetheless, for the "if" part, it's true for $p = 0$, so consider $p \gt 0$ and note that with
$$g(y) = y^p, \; g'(y) = p\left(y^{p-1}\right) \gt 0, \; y \gt 0 \tag{2}\label{eq2A}$$
Thus, $g(y)$ is an increasing function. Next, with your
$$f(x)=1+x^p-(1+x)^p \tag{3}\label{eq3A}$$
you have $f(0) = 0$. Also, as you've shown
$$f'(x)=px^{p-1}-p(1+x)^{p-1}=p\big[x^{p-1}-(1+x)^{p-1}\big] \tag{4}\label{eq4A}$$
For $0 \lt p \lt 1$, you have $1 - p \gt 0$. Also, $x \lt x + 1$. Thus, by \eqref{eq2A}, you have $x^{1-p} \lt (1+x)^{1-p} \implies x^{p-1} \gt (1+x)^{p-1} \implies x^{p-1} - (1+x)^{p-1} \gt 0$. Thus, you have $f'(x) \gt 0$, along with $f(0) = 0$, meaning that $f(x) \gt 0$ for $x \gt 0$.
I'll leave the "only if" part for you to finish, including to the extent it's not correct, such as the question comment indicates.