I think this is down to the way Google implemented labels. I looked into this when I moved all my email off Google's servers and noticed they just list them as folders on IMAP, so a client would have to implement a special google-specific way of dealing with them. There are other ways to implement labels in IMAP (I've forgotten the exact details but I did it successfully while interacting with the IMAP server using `openssl s_client`).
I may be wrong but my understanding is that this is just a limitation of Gmail's IMAP implementation. Every IMAP client I've tried so far displays tags as separate folders.