### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

with python boto3 client

- send a message to fifo queue with MessageGroupId='1'
- receive the message
- delete the message
- send another message to the queue with MessageGroupId='1'
- try to receive the message, get none
- check message availability with get_queue_attributes, get `{'ApproximateNumberOfMessages': '1', 'ApproximateNumberOfMessagesNotVisible': '0', 'ApproximateNumberOfMessagesDelayed': '0', ...`

### Expected Behavior

expecting to receive message from the queue

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

docker-compose up


### Environment

```markdown
- OS:MacOS Sonoma 14.2.1
- LocalStack: latest
```


### Anything else?

I tried to run with Rosetta, no result
return len(self.messages)
    def pop(self) -> SqsMessage:
        return heapq.heappop(self.messages)
    def push(self, message: SqsMessage):
        heapq.heappush(self.messages, message)
    def __eq__(self, other):
        return self.message_group_id == other.message_group_id
    def __hash__(self):
        return self.message_group_id.__hash__()
    def __repr__(self):
        return f"MessageGroup(id={self.message_group_id}, size={len(self.messages)})"
class FifoQueue(SqsQueue):
    """
    A FIFO queue behaves differently than a default queue. Most behavior has to be implemented separately.
    See https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
    TODO: raise exceptions when trying to remove a message with an expired receipt handle
    """
    deduplication: Dict[str, SqsMessage]
    message_groups: dict[str, MessageGroup]
    inflight_groups: set[MessageGroup]
    message_group_queue: Queue
    def __init__(self, name: str, region: str, account_id: str, attributes=None, tags=None) -> None:
        super().__init__(name, region, account_id, attributes, tags)
        self.deduplication = {}
        self.message_groups = {}
        self.inflight_groups = set()
        self.message_group_queue = Queue()
    @property
    def approx_number_of_messages(self):