If $n=ab$ is $a,b>1$, then write:
$$p(x)=\frac{x^{n}-1}{x^a-1}=1+x^a+x^{2a}+\cdots + x^{(b-1)a}$$
Now, $w_n$ is a primitive $n$th root of unity, so is not a root of $x^a-1$, so it is a root of $p(x)$.
But that means that, given any positive integers: $\lambda_0,\lambda_1,\dots,\lambda_{a-1}$ we get that that $p(x)(\lambda_0 + \lambda_1 x+\cdots+\lambda_{a-1}x^{a-1})$ is of degree $n-1$ and has root $w_n$ and positive integer coefficients.
More generally, look at the Cyclotomic polynomials, $\Phi_n$. They are the minimal polynomials for each $w_n$, and $\Phi_n$ has degree $\phi(n)$. They have integer coefficients, but you can add to them to get natural numbers.
For example:
$$\Phi_{6}(x)=1-x+x^2$$
has root $w_6$. Then add $2$ to every coefficient for $0$ to $5$, and you get:
$$\Phi_6(x)+2\frac{x^6-1}{x-1} = 3+x+3x^2+2x^3+2x^4+2x^5$$
has $w_6$ as a root.
Your rule is only true when $n$ is prime. This is because $\Phi_n(x)$ is the minimal polynomial for $w_n$ and, when $n$ is prime, it is not hard to show that $\Phi_n(x)=1+x+\cdots+x^{n-1}$, which means that any polynomial which has $w_n$ as a root must be divisible by $\Phi_n(x)$. You (essentially) have a polynomial of degree $n-1$ with root $w_n$, so your polynomial must be a scalar times $\Phi_n(x)$.