### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I have an application which uses SQS.
It works in production.
It has acceptance tests which were passing with localstack until very recently.

Now I see:

```
An error occurred (InvalidParameterValue) when calling the SendMessage operation: Value 0 for parameter DelaySeconds is invalid. Reason: The request include parameter that is not valid for this queue type.
```

Yes, delay `0` is being passed in to `send_message` but this used to work in both localstack and AWS.

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message

> DelaySeconds (integer) --
The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. 

### Expected Behavior

DelaySeconds 0 is a valid value.

sqs send_message works when explicitly setting delay 0.

### 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 run localstack/localstack

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

1. Create a SQS FIFO queue.
2. Try to `send_message`, specifying `DelaySeconds=0`

### Environment

```markdown
- OS: macos
- LocalStack: latest
```


### Anything else?

I notice on a recent issue that @thrau said he recently changed how SQS attribute values are validated.
assert failed["Id"] == "9"
        assert failed["Code"] == "InvalidMessageContents"
        
        messages = []
        def collect_messages():
            response = sqs_client.receive_message(
                QueueUrl=queue_url, MaxNumberOfMessages=10, WaitTimeSeconds=1
            )
            messages.extend(response.get("Messages", []))
            return len(messages)
        assert poll_condition(
            lambda: collect_messages() >= 9, timeout=10
        ), f"gave up waiting messages, got {len(messages)} from 9"
        bodies = {message["Body"] for message in messages}
        assert bodies == {"0", "1", "2", "3", "4", "5", "6", "7", "8"}
    @pytest.mark.only_localstack
    def test_external_hostname(self, monkeypatch, sqs_client, sqs_create_queue):
        external_host = "external-host"
        external_port = "12345"
        monkeypatch.setattr(config, "SQS_ENDPOINT_STRATEGY", "off")
        monkeypatch.setattr(config, "SQS_PORT_EXTERNAL", external_port)
        monkeypatch.setattr(config, "HOSTNAME_EXTERNAL", external_host)
        queue_url = sqs_create_queue()
        assert f"{external_host}:{external_port}" in queue_url
        message_body = "external_host_test"
        sqs_client.send_message(QueueUrl=queue_url, MessageBody=message_body)
        receive_result = sqs_client.receive_message(QueueUrl=queue_url)
        assert receive_result["Messages"][0]["Body"] == message_body
    @pytest.mark.only_localstack
    def test_external_hostname_via_host_header(self, monkeypatch, sqs_create_queue):