In the ASF SQS provider, we always raise a `QueueNameExists` exception if the queue already exists.

https://github.com/localstack/localstack/blob/aba25e4f9542a2cc1ce94b08d50247b8024c3d12/localstack/services/sqs/provider.py#L728-L729
However, [according to the spec](https://github.com/boto/botocore/blob/f960a8d73c12d16b53e4d9eacdf515224acb08f6/botocore/data/sqs/2012-11-05/service-2.json#L1138), "Amazon SQS returns this error only if the request includes attributes whose values differ from those of the existing queue."

"""
    Utility function filter from the given message (in-place) the message attributes from the given list. It will
    apply all rules according to:
    https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.receive_message.
    :param message: The message to filter (it will be modified)
    :param names: the attributes names/filters (can be 'All', '.*', or prefix filters like 'Foo.*')
    """
    if not message.get("MessageAttributes"):
        return
    if not names:
        del message["MessageAttributes"]
        return
    if "All" in names or ".*" in names:
        return
    attributes = message["MessageAttributes"]
    matched = []
    keys = [name for name in names if ".*" not in name]
    prefixes = [name.split(".*")[0] for name in names if ".*" in name]
    # ma
    for k in attributes:
        if k in keys:
            matched.append(k)
            continue
        for prefix in prefixes:
            if k.startswith(prefix):
                matched.append(k)
            break
    message["MessageAttributes"] = {k: attributes[k] for k in matched}