Understanding how padding works when using Block Cipher
The padding scheme being used in your example for the block cipher is PKCS#7 Padding.

This scheme specifies that:


  The value of each added byte is the number of bytes that are added, i.e. N bytes, each of value N are added.


The thing is, if the plaintext is multiple of the block size, then a whole new padding block is added. In this case it will be a block of 16 bytes with value 16.


   This is necessary so the deciphering algorithm can determine with certainty whether the last byte of the last block is a pad byte indicating the number of padding bytes added or part of the plaintext message.


That's why your ciphertext has a size of 48 bytes when the plaintext is 32 bytes. That is one ciphertext byte for each plaintext plus a whole new block of padding