You specifically asked for this behavior! You used delayed evaluation (:=) meaning, first fill in the values of z then evaluate. In this case you want the regular evaluation (evaluate then fill in):
N0[z_] = z*D[-Log[1 - z], z]
Now N0[z_] is set to z/(1-z) as expected, and you can evaluate any z... You can ask for the definitions of N0 by typing ?N0