In this question on StackOverflow https://stackoverflow.com/questions/31248777/can-pkcs5padding-be-in-aes-gcm-mode it's said that GCM doesn't require a padding: why?
TL;DR: Padding is part of the specification of the mode and thus doesn't need to be done by the user of the primitive.
Internally GCM really is CTR mode along with a polynomial hashing function applied on the ciphertext. CTR-mode doesn't need padding because you can just partly use the bits the last counter block generated and the polynomial hash does use (zero-)padding.
For the details, see Wikipedia.