### 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_
f"A queue already exists with the same name and a different value for attribute {k}"
                            )
                return CreateQueueResult(QueueUrl=queue.url(context))
            if config.SQS_DELAY_RECENTLY_DELETED:
                deleted = store.deleted.get(queue_name)
                if deleted and deleted > (time.time() - sqs_constants.RECENTLY_DELETED_TIMEOUT):
                    raise QueueDeletedRecently(
                        "You must wait 60 seconds after deleting a queue before you can create "
                        "another with the same name."
                    )
            store.expire_deleted()
            
            if fifo:
                queue = FifoQueue(queue_name, context.region, context.account_id, attributes, tags)
            else:
                queue = StandardQueue(
                    queue_name, context.region, context.account_id, attributes, tags
                )
            LOG.debug("creating queue key=%s attributes=%s tags=%s", queue_name, attributes, tags)
            store.queues[queue_name] = queue
        return CreateQueueResult(QueueUrl=queue.url(context))
    def get_queue_url(
        self, context: RequestContext, queue_name: String, queue_owner_aws_account_id: String = None
    ) -> GetQueueUrlResult:
        store = self.get_store(queue_owner_aws_account_id or context.account_id, context.region)
        if queue_name not in store.queues.keys():
            raise QueueDoesNotExist("The specified queue does not exist for this wsdl version.")
        queue = store.queues[queue_name]
        return GetQueueUrlResult(QueueUrl=queue.url(context))
    def list_queues(