for product in select_db():
@dp.callback_query_handler(text=product['name_but'])
async def pole(message: types.message):
await bot.send_message(message.from_user.id, product['desk'], reply_markup=but.nav_button)
Ты делаешь глупость.
Просто потому, что после того, как этот код отработает, созданные тобой копии обработчика pole() останутся, и будут мешать.
Используй один, более общий обработчик callback_query_handler, и в нём уже смотри, какой текст тебе пришёл, какой пользователь его отправил, и что с этим текстом надо делать.