Was this with your new Glo? If so, did the Touch get synced to the Kobo server before you setup the Glo? And did the shelves get created on the Glo when you did the setup?
The shelves being duplicated by the Kobo server has nothing to do with kepubs being on the shelves. The existence of the shelves will get synced to the server even if they are empty or have no kepubs on them. The only books on shelves that get synced are the kepubs. Because if this, shelves are being duplicated at sync time.
But, it could be a driver issue. One problem with shelves is case and leading and trailing spaces. The shelves can be created with leading and trailing spaces and "AAA" and "aaa" are considered different. The calibre driver treats these as separate shelves. If there are leading or trailing spaces in the name of a shelf already on the device, the driver considers these to be different shelves. I think case is handled the same (but I've have to check the code). Any shelf created by the driver will have exactly the value set in the calibre library: same case, no leading or trailing spaces.
If you see this again, I would be interested in a debug log so that I can see what is happening.