### 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_
import sys
from datetime import datetime
from typing import IO, Dict, Iterable, Iterator, List, Optional, Union
if sys.version_info >= (3, 8):
    from typing import TypedDict
else:
    from typing_extensions import TypedDict
from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
AbortRuleId = str
AcceptRanges = str
AccessPointArn = str
AccountId = str
AllowQuotedRecordDelimiter = bool
AllowedHeader = str
AllowedMethod = str
AllowedOrigin = str
AnalyticsId = str
BucketKeyEnabled = bool
BucketName = str
BypassGovernanceRetention = bool
CacheControl = str
ChecksumCRC32 = str
ChecksumCRC32C = str
ChecksumSHA1 = str
ChecksumSHA256 = str
CloudFunction = str
CloudFunctionInvocationRole = str
Code = str
Comments = str
ConfirmRemoveSelfBucketAccess = bool