Товар уже в корзине?
Корзина — список объектов Product. Перед добавлением товара сайт проверяет,
нет ли его уже в корзине. Товар каждый раз загружается из каталога заново — это новый объект
с теми же данными. Из-за этого in_cart всегда возвращает False, и товар дублируется.
Исправьте in_cart(cart, product): товар уже в корзине, если там есть товар с тем же id.
Подсказка 1 из 2
Выведите load_product(1) == load_product(1).
Подсказка 2 из 2
Сравнивайте не объекты, а их id: any(... for item in cart).