You can place weights on both side of weighing balance and you need to measure all weights between $1$ and $1000$. For example if you have weights $1$ and $3$, now you can measure $1,3$ and $4$ like earlier case, and also you can measure $2$, by placing $3$ on one side and $1$ on the side which contain the substance to be weighed.
So question again is how many minimum weights and of what denominations you need to measure all weights from $1$kg to $1000$kg?
The answer is $7$. Notice every "state" of the balance can be described by a list which says the position of each balance, the position can be "left, right" or "not on the weight". If we had less than $7$ weights there would be at most $3^6$ possible states, this is less than $1000$.
On the other hand taking the weights $1,3,9,27,81,243,729$ allows us the measure every integer weight between $0$ and $1093$
Proof of this is straightforward with induction, try proving with weights $1,3,9\dots 3^{n}$ you can weight everything between $0$ and $\dfrac{3^{n+1}-1}{2}$