Do I have to keep Bitmessage open 24/7 to receive messages or are they pushed when i go online?
No, you don't have to keep it open. Next time you open it up it'll sync and you'll get the messages sent to your BM address. Note that this only applies to the computer that has keys.dat and messages.dat in your PyBitmessage config folder (~/.config/PyBitmessage by default on Linux). It takes a while to sync.