### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I can delete messages with batch sizes greater than 10 without any errors.

The same applies to changing message visibility.

### Expected Behavior

SQS allows processing batches with a maximum size of 10 elements.

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

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

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

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

```python
import boto3

sqs = boto3.client("sqs", endpoint_url="http://localhost:4566")
queue_url = sqs.create_queue(QueueName="my-queue")["QueueUrl"]

sqs.send_message_batch(
    QueueUrl=queue_url,
    Entries=[{"Id": str(i), "MessageBody": "foo"} for i in range(10)],
)
sqs.send_message_batch(
    QueueUrl=queue_url,
    Entries=[{"Id": str(i), "MessageBody": "foo"} for i in range(10)],
)

messages = []
messages.extend(
    sqs.receive_message(
        QueueUrl=queue_url,
        AttributeNames=["All"],
        MaxNumberOfMessages=10,
    )["Messages"]
)
messages.extend(
    sqs.receive_message(
        QueueUrl=queue_url,
        AttributeNames=["All"],
        MaxNumberOfMessages=10,
    )["Messages"]
)

# This should raise an error because we're providing a batch with more than 10 elements
sqs.change_message_visibility_batch(
    QueueUrl=queue_url,
    Entries=[
        {
            "Id": str(i),
            "ReceiptHandle": msg["ReceiptHandle"],
            "VisibilityTimeout": 123,
        }
        for i, msg in enumerate(messages)
    ],
)

# This should raise an error because we're providing a batch of more than 10 elements
sqs.delete_message_batch(
    QueueUrl=queue_url,
    Entries=[
        {"Id": str(i), "ReceiptHandle": msg["ReceiptHandle"]}
        for i, msg in enumerate(messages)
    ],
)
```


### Environment

```markdown
- OS: Ubuntu 22.04
- LocalStack: latest
```


### Anything else?

_No response_
message_body: str, message_attributes: MessageBodyAttributeMap, max_message_size: int
):
    
    error = "One or more parameters are invalid. "
    error += f"Reason: Message must be shorter than {max_message_size} bytes."
    if (
        _message_body_size(message_body) + _message_attributes_size(message_attributes)
        > max_message_size
    ):
        raise InvalidParameterValue(error)
def _message_body_size(body: str):
    return _bytesize(body)
def _message_attributes_size(attributes: MessageBodyAttributeMap):
    if not attributes:
        return 0
    message_attributes_keys_size = sum(_bytesize(k) for k in attributes.keys())
    message_attributes_values_size = sum(
        sum(_bytesize(v) for v in attr.values()) for attr in attributes.values()
    )
    return message_attributes_keys_size + message_attributes_values_size
def _bytesize(value: str | bytes):
    
    return len(value.encode("utf8")) if isinstance(value, str) else len(value)
def check_message_content(message_body: str):
    error = "Invalid characters found. Valid unicode characters are #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF"
    if not re.match(sqs_constants.MSG_CONTENT_REGEX, message_body):
        raise InvalidMessageContents(error)
class CloudwatchDispatcher: