ok re-tried both approaches, here code and output:
from PIL import Image
import numpy as np
image1 = Image.open('test1.png')
image1c = Image.open('test1c.png')
image2 = Image.open('test2.png')
image3 = Image.open('test3.png')
if image1 == image1c:
print("matched")
else:
print("Failed")
if image1 == image2:
print("matched")
else:
print("Failed")
if image1 == image3:
print("matched")
else:
print("Failed")
print('_________________________________')
img1 = np.array(image1)
img1c = np.array(image1c)
img2 = np.array(image2)
img3 = np.array(image3)
if np.array_equal(img1,img1c) :
print('TRUE')
else:
print("False")
if np.array_equal(img1,img2) :
print('TRUE')
else:
print("False")
if np.array_equal(img1,img3) :
print('TRUE')
else:
print("False")
output:
matched
Failed
Failed
_________________________________
TRUE
False
False
so seems problem where in images, You can compare pillow Images and if converted to numpy arrays need to use
numpy.array_equal
to compare them
here the images used (test1.png is your first image, test1c.png its a copy of it, test2.png is your second image, test3.png its a modified by me image):
test1.png:

test1c.png:

test2.png:

test3.png:

let me know if something is wrong with it
took a little bit , but found different pixels in images:
1749 1051
1750 1051
1751 1051
1752 1051
1753 1051
1755 1051
1748 1052
1749 1052
1750 1052
1751 1052
1752 1052
1753 1052
1755 1052
1756 1052
1748 1053
1749 1053
1750 1053
1753 1053
1754 1053
1755 1053
1752 1054
1753 1054
1753 1055
1754 1055
1755 1055
1752 1056
1754 1056
1755 1056
1757 1056
1750 1057
1751 1057
1752 1057
1753 1057
1754 1057
1757 1057
1758 1057
1759 1057
1751 1058
1752 1058
1754 1058
1755 1058
1756 1058
1757 1058
1758 1058
1754 1059
1755 1059
1756 1059
1757 1059
here the pics comparison:

my eyes are burning from eye strain ;-)