雑記

手元にパワーポイントの図形で描画し、右クリックで「図として保存」したお皿画像とプリンがあります。
PIL でお皿にプリンを貼ると以下のようになります(私の手元のお皿画像・プリン画像とカラーパレットが同一でないと同じ結果になりません)。

from PIL import Image

img_plate = Image.open('plate.png')  # なお読込時のデータフォーマットは P(カラーパレット)
img_pudding = Image.open('pudding.png')  # なお読込時のデータフォーマットは P(カラーパレット)
img_plate.paste(img_pudding, (65, 55))  # 皿にプリンを貼る(位置は適宜調整する)
img_plate.save('pudding_plate_0.png')  # 黒いプリンになる(プリンの色番号がお皿を超えているため)

img_plate = Image.open('plate.png').convert('RGBA')  # データフォーマット変換
img_pudding = Image.open('pudding.png').convert('RGBA')  # データフォーマット変換
img_plate.paste(img_pudding, (65, 55))
img_plate.save('pudding_plate_1.png')  # プリンの透過ピクセルが皿に貼った後も透過ピクセルになる

img_plate = Image.open('plate.png')
img_pudding = Image.open('pudding.png').convert('RGBA')  # プリンのみデータフォーマット変換
img_plate.paste(img_pudding, (65, 55), img_pudding)  # プリンの形に切り抜く
img_plate.save('pudding_plate_2.png')  # おそらくプリンに色番号が再割当され背景色を引き当てている

img_plate = Image.open('plate.png').convert('RGBA')  # データフォーマット変換
img_pudding = Image.open('pudding.png').convert('RGBA')  # データフォーマット変換
img_plate.paste(img_pudding, (65, 55), img_pudding)  # プリンの形に切り抜く
img_plate.save('pudding_plate_3.png')  # OK