I will start from the second part, as it is easier. You use Lagrange's theorem that the order of an element $x$ divides the order of the group. In a group of order 8, therefore, either $\operatorname{ord} x=8$ or it divides $4$. In the former case, as @Monoide writes, the group coincides with the cyclic group generated by $x$. In the latter, since $4$ is a multiple of $\operatorname{ord} x$ we have $x^4=1$.
Now the same reasoning can be applied in the first case. Note that $256=2^8$. By the classification theorem for abelian groups, $G$ is isomorphic to a direct sum of cyclic groups of order dividing $2^8$. If we had a cyclic group of order $2^n$ with $n\geq 3$ in that direct sum, then we would have an element of order $2^n>4$ in $G$, against your assumption. So in the end, we are left to count the number of ways to write $256$ as an unordered product of $2$ and $4$'s. Taking logarithms to the base 2, this is the same as writing $8$ as an unordered sum of $1$ and $2$'s. You can do this by counting the number of $2$'s in this sum (the other terms then being $1$). Since there are anywhere less than or equal to four $2$'s, the answer is five ($0,1,2,3,4$).
In general, the answer to the same question for any abelian group $G$ of order $2^n$ is $1+\lfloor n/2 \rfloor$.