Neither of these are exact equivalents of simply 'stay up late'. We wouldn't use them just to say that you went to bed later than usual because you were watching TV or chatting with friends. Both mean that you are WORKING late at night - studying, reading, writing or getting other work done.
The first is an old expression, dating back to before the invention of the electric light bulb, but it is still sometimes used today. A related expression is 'burning the candle at both ends', meaning that you go to bed late and get up early.
'Pull an all-nighter' is modern expression, and it's much more informal. As you'd expect, it means not going to bed at all. If you pull an all-nighter, you work right through the night.