The consecutive day count has been discussed before, but the basic problem is that any sliding system would easily be gamed. It would also end up being more confusing and harder to understand.
Currently the system is based on UTC. This means it will roll over for every user at the exact same (real) time. This is the most fair way. If you do not allow 24 hours to pass without checking into Stack Overflow, then you will never miss a day.
If the system was based on the locale of your IP, that would be quite problematic for users who travel, especially if the International Date Line is involved. It's possible in that case that you could "miss" a day without having even 24 hour pass. That's both unfair, and complicated.
If it goes by the time on your CPU, it would be too easy to game.
The best way is the clearest (once you know about it). The day rolls over at the same time for everyone, everywhere, always.