Внутри есть переназначение l oop:
for listing in content.find_all('div', {'class': 'discount_block discount_block_inline
hero_discount'}):
price = listing.find('div', {'class': 'discount_final_price'}).text
Вы перезаписываете цену и издателя для каждой итерации. Цена удерживает последнее значение итерации. Если вы хотите отображать каждую цену, вам лучше создать список и добавить в него каждую цену.
priceList = []
for listing in content.find_all('div', {'class': 'discount_block discount_block_inline
hero_discount'}):
priceList.append(listing.find('div', {'class': 'discount_final_price'}).text)
Изменить: поскольку существует более одного элемента с атрибутом 'hero_stat', вам нужно будет сохранить их тоже в списке, используя findAll:
stats = list(map(lambda stat: stat.text, listing.find_all('div', {'class': 'hero_stat'}))) # this is a list