The s3 module has a keysum method that fails when the file on S3 got there via multipart upload:
etag_multipart = md5_remote.find('-')!=-1 #Check for multipart, etag is not md5
if etag_multipart is True:
module.fail_json(msg="Files uploaded with multipart of s3 are not supported with checksum, unable to compute checksum.")
It is used by get and put in overwrite scenarios to determine whether the source and destination are identical. The resulting behavior is that the module fails prematurely, regardless of whether overwrite=True was passed.