Start by guessing the following N digit numbers:
0000...00
1000...00
1100...00
1110...00
...
1111...11
One of these guesses must give us a 50% response because
every number in the sequence either increases or decreases the number of good digits by one. Either 0000...00 or 1111...11 has at least half of the digits right, while the other one has at most half of them right, so the sequence goes through the 50% mark somewhere.
If we have a 50% guess, all we have to do is
test every digit for whether its correctness is equivalent to that of the next one (both of them are right or both of them are wrong). We can do this by flipping the bits in adjacent pairs in the 50% guess. For example, if our initial 50% guess was 1111000000, we start by guessing 0011000000. If we get a 50% response again, we know that exactly one of the first two digits was right in 1111000000. If we don't, then either both were right or both were wrong. Next we guess 1001000000. Then 1100000000. Then 1110100000. And so on, all the way to 1111000011.
After this, there are only 2 possible values for the hidden number:
One is when we set the first digit to 1 and set all the other digits according to the relations we established in the previous N-1 steps. The other one is when the first digit is 0 (the complement of the previous number).
This was $(N+1)+(N-1)+2\le2002$ guesses in total.