### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

The Complete Multipart Upload operation generates the **InternalError** error for non-existing uploads.

### Expected Behavior

The Complete Multipart Upload operation generates the **NoSuchUpload** error for non-existing uploads.

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

    docker run -it --rm -p 4566:4566 localstack/localstack

    aws s3api create-bucket --bucket test --endpoint-url http://localhost:4566 --create-bucket-configuration LocationConstraint=us-west-2

    aws s3api complete-multipart-upload --bucket test --endpoint-url http://localhost:4566 --key test --upload-id test

### Environment

```markdown
- OS: Windows 11
- LocalStack: latest
```


### Anything else?

The Abort Multipart Upload operation works correctly in LocalStack.

The official documentation: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
Amazon S3 throws the correct **NoSuchUpload** error for both Abort and Complete operations.
Id: Optional[NotificationId]
    Event: Optional[Event]
    Events: Optional[EventList]
    Queue: Optional[QueueArn]
class TopicConfigurationDeprecated(TypedDict, total=False):
    Id: Optional[NotificationId]
    Events: Optional[EventList]
    Event: Optional[Event]
    Topic: Optional[TopicArn]
class NotificationConfigurationDeprecated(TypedDict, total=False):
    TopicConfiguration: Optional[TopicConfigurationDeprecated]
    QueueConfiguration: Optional[QueueConfigurationDeprecated]
    CloudFunctionConfiguration: Optional[CloudFunctionConfiguration]
UserMetadata = List[MetadataEntry]
class Tagging(TypedDict, total=False):
    TagSet: TagSet
class S3Location(TypedDict, total=False):
    BucketName: BucketName
    Prefix: LocationPrefix
    Encryption: Optional[Encryption]
    CannedACL: Optional[ObjectCannedACL]
    AccessControlList: Optional[Grants]
    Tagging: Optional[Tagging]
    UserMetadata: Optional[UserMetadata]
    StorageClass: Optional[StorageClass]
class OutputLocation(TypedDict, total=False):