Check the following article for possible reasons.
Possible solutions to avoid
1. Use the Omni-Supervisor tab to find the agents Availability and Queue capacity and usage.
2. Increase the Queue capacity on the Chat Button(Queue Size Per Agent or Overall Queue Size).
3. Increase the number of agents.
4. Use Push Time-Out to assign the Chat to other available agents when the agent is not accepting the Chats.
5. Use Einstein Bot to handle the Chat and route it to the Agent when necessary.
Vote for the following idea which can allow queuing Chats when Agents are away.