Is there a word or phrase for someone who works hard at night and does not sleep?
I would say this person is "burning the midnight oil". This shows that they are working hard, because we think of machines as things that burn oil. It also relates to the "late at night" requirement for obvious reasons.
Someone who lives a life as you described can be said to "burn the candle at both ends" in that they exhaust their resources twice as fast, as you can imagine lighting both ends of a candle simultaneously would do.
There are several good answers and links related exactly to this phrase in this ELU question: What does "burning the candle at both ends" mean?
There is an actual word that literally means "to study with a lamplight" but in usage means "to study very hard", which is elucubrate (elucubration, elucubrator, etc.). Not a very popular one mind you, but it's in the OED.
I'm not sure if this fits exactly, but workaholic is someone who works too much. I guess it could apply to someone who would rather work than sleep.
You might consider lychnobite to define this person. But you can be a lazy lychnobite too. So you would describe as a hard-working lychnobite.
a person who works or labors at night and sleeps during the day.
From Ancient Greek λύχνος (lúkhnos, “lamp”) and βίος (bíos, “life”).
http://en.wiktionary.org/wiki/lychnobite