Используйте планировщик либо очередь задач, который(ая) поддерживает отложенное выполнение, например,
APScheduler: создавайте задачу с выполнением в указанное время. Для планирования задачи можно периодически проверять (опрашивать) базу данных на наличие новых записей, и если таковые имеются, планировать для них задачи через планировщик, а записи удалять из базы.
Но ещё лучше будет выяснить, откуда попадают time и chat_id в БД, и по возможности оттуда сразу же создавать задачу в планировщике, а не записывать в БД.