### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Adding and labeling more than 10 parameters only labels (or only returns) the first 10 labeled parameters.

### Expected Behavior

Adding and labeling more than 10 parameters should add & then return all the parameters.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

docker-compose.yml

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

```
params = [ ... ]  # create a list of **more** than 10 parameters ( Name + Value)
for param of params:
       # add the parameter (returns 200)
        res = ssm.put_parameter(Name=param["Name"], Value=param["Value], Type='String')

       # label the returned version with 'latest' (returns 200)
        label_res = ssm.label_parameter_version(Name=path, ParameterVersion=res['Version'], Labels=['latest'])

       # get the added parameter (returns the parameter successfully)
        prm = ssm.get_parameter(Name=path)

# get all parameters with the 'latest' label - this returns the first 10 parameters (although `MaxResults` is 100), and also doesn't return a `NextToken` property to iterate through the next batch of parameters.
ps = ssm.get_parameters_by_path(Path=base_path,
                                        ParameterFilters=[  {  'Key': 'Label',  'Values': [  'latest'  ] } ],
                                        MaxResults=100) 

```


### Environment

```markdown
- OS: Windows 10
- LocalStack: 0.12.17.5
```


### Anything else?

_No response_
def api_name(self):
        return "ssm"
    def forward_request(self, method, path, data, headers):
        if method == "OPTIONS":
            return 200
        target = headers.get("X-Amz-Target")
        data_orig = data
        if method == "POST" and target:
            data = json.loads(to_str(data))
            if target == ACTION_GET_PARAMS:
                names = data["Names"] = data.get("Names") or []
                if has_secrets(names):
                    return get_params_and_secrets(names)
                else:
                    for i in range(len(names)):
                        names[i] = normalize_name(names[i])
            elif target in [ACTION_PUT_PARAM, ACTION_GET_PARAM]:
                name = data.get("Name") or ""
                data["Name"] = normalize_name(name)
                if target == ACTION_GET_PARAM:
                    details = name.split("/")
                    if len(details) > 4:
                        service = details[3]
                        if service == "secretsmanager":