Let
$$f_1(x):=\frac{f'(x)}{r(3+x)^{r-1}}
=b+c (2 x+5) (x+2)^{r-1}+d \left(3 x^2+12 x+11\right) (x+1)^{r-1}
(x+2)^{r-1},$$
$$f_2(x):=\frac{f_1'(x)}{(2+x)^{r-2}(2 r x+5 r-1)} \\
=c+\frac{d \left(6 r x^3+33 r x^2+58 r x+33 r-3 x^2-10 x-9\right)
(x+1)^{r-2}}{2 r x+5 r-1},$$
$$f_3(x):=f_2'(x)\frac{(2 r x+5 r-1)^2}{d(1+x)^{r-3} } \\
=s^3 \left(12 x^4+96 x^3+281 x^2+356 x+165\right)+s^2 \left(36
x^4+264 x^3+699 x^2+784 x+311\right)+s \left(36 x^4+240
x^3+574 x^2+576 x+202\right)+12 \left(x^2+3 x+2\right)^2
$$
if $d\ne0$, where $s:=r-1>0$.
If $f$ had $>3$ positive zeroes, then $f_1$ would have $>2$ positive zeroes, $f_2$ would have $>1$ positive zeroes, and $f_3$ would have $>0$ positive zeroes -- but $f_3(x)$ is manifestly $>0$ for $x>0$ if $d\ne0$. So, $f$ has $\le3$ positive zeroes if $d\ne0$.
If now $d=0$, then $f_2=c$. So, if $c\ne0$, then $f_2$ has no positive zeroes and hence $f$ has $\le2\le3$ positive zeroes -- if $d=0$ but $c\ne0$.
If now $c=d=0$, then $f_1=b$. So, if $b\ne0$, then $f_1$ has no positive zeroes and hence $f$ has $\le1\le3$ positive zeroes -- if $c=d=0$ but $b\ne0$.
If now $b=c=d=0$, then $f=a$. So, if $a\ne0$, then $f$ has $0\le3$ positive zeroes -- if $b=c=d=0$ but $a\ne0$.
If finally $a=b=c=d=0$, then $f=0$.
Thus, $f$ has $\le3$ positive zeroes -- unless $a=b=c=d=0$, in which case all real numbers are zeroes of $f$. $\quad\Box$
It is not true "that it can have at most 2 positive zeros". Indeed, any polynomial of degree $3$ can be written as $f$ for $r=1$. For instance, $f(x)=(x-1)(x-2)(x-3)$ if $r=1$ and $(a,b,c,d)=(-120, 60, -12, 1)$. So, $f$ can have $3$ positive zeroes if $r=1$. By continuity, $f$ can have $3$ positive zeroes at least in the case when $r$ is slightly greater $1$ (if you want to insist that $r>1$). For instance, here is the graph $\{(x,f(x))\colon0<x<4\}$ for $r=21/20$ and $(a,b,c,d)=(-120, 60, -12, 1)$:
