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."

with self.mutex:
            if self.thread:
                return
            self.scheduler = Scheduler()
            self.scheduler.schedule(self.do_update_all_queues, period=1)
            def _run(*_args):
                self.scheduler.run()
            self.thread = start_thread(_run)
    def stop(self):
        with self.mutex:
            if self.scheduler:
                self.scheduler.close()
            if self.thread:
                self.thread.stop()
            self.thread = None
            self.scheduler = None
def check_attributes(message_attributes: MessageBodyAttributeMap):
    if not message_attributes:
        return
    for attribute_name in message_attributes:
        if len(attribute_name) >= 256:
            raise InvalidParameterValue(
                "Message (user) attribute names must be shorter than 256 Bytes"
            )
        if not re.match(ATTR_NAME_CHAR_REGEX, attribute_name.lower()):
            raise InvalidParameterValue(
                "Message (user) attributes name can only contain upper and lower score characters, digits, periods, "
                "hyphens and underscores. "
            )