### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When requesting a  Complete operation at the end of a multi part upload, the parts have to be sorted in ascending order of part number.
AWS S3 issues an error if it is not the case. localstack does not generate such error (although, its log issues warnings)/

### Expected Behavior

Complete should generate an error

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

localstack start

Buggy software extract (simplified)
```golang
	wg := errgroup.Group{}
	for i := 0; i < 3; i++ {
		wg.Go(func() error {
			rd, err := os.Open(source)
			if err != nil {
				return err
			}
			return u.Upload(rd, i, 10*_cMB)  // uploads and stores for part i
		})
	}
	err :=  wg.Wait()
if err != nil {
...
}
err = u.Complete()
// as using i inside the routines, all the four parts will have the same value 3
```

### Environment

```markdown
- OS:Ubuntu 20.04
- LocalStack: latest pro
```


### Anything else?

_No response_
Quiet = bool
QuoteCharacter = str
QuoteEscapeCharacter = str
Range = str
RecordDelimiter = str
ReplaceKeyPrefixWith = str
ReplaceKeyWith = str
ReplicaKmsKeyID = str
RequestRoute = str
RequestToken = str
ResponseCacheControl = str
ResponseContentDisposition = str
ResponseContentEncoding = str
ResponseContentLanguage = str
ResponseContentType = str
Restore = str
RestoreOutputPath = str
Role = str
SSECustomerAlgorithm = str
SSECustomerKey = str
SSECustomerKeyMD5 = str
SSEKMSEncryptionContext = str
SSEKMSKeyId = str
Setting = bool
Size = int
SkipValidation = bool
StartAfter = str
Suffix = str
TagCount = int
TaggingHeader = str