For practical purposes, there are interchangeable.
However, for certain specific situations, one may be preferred, only preferred, not mandatory over the other.
還沒还没 is used when it is a bare, neutral statement / comment on someone not asleep yet.
還不还不 is used when it is questioning / accusative of why someone is not asleep yet when ought to be.
So, you have:-
很晚了,你还没睡
明天去上学你还不睡
However, no one will say you are absolutely wrong if used interchangeably.