Читай документацию
https://docs.python.org/3/library/queue.htmlqueue используется для взаимодействия с потоками. Список использовать нельзя, так как может быть соревнование двух потоков за его элементы.
Когда ты берёшь элемент из списка через pop(), то в начале вызова pop() в списке может находиться один элемент, который и должен быть возвращён, а во время вызова pop() другой поток может забрать элемент из списка. И у тебя получится ситуация, что pop() нашла элемент, приготовилась его вернуть, начинает его читать, а его там уже нет. Вот чтобы такого не было, нужна блокировка элемента, чтобы pop() успела проделать всё от начала до конца и вернула элемент этот. Вот у очереди есть такие блокировки, а у списка нет. Поэтому список ты можешь использовать, но только там, где не пересекаются потоки.