Не обязательно всю функцию выносить во второй поток. Надо лишь цикл вынести и сможешь везде использовать schedule .
import threading
from threading import Thread
import time
import schedule
from datetime import datetime
def everyday():
pass
def everydayphoto():
pass
def everynight():
pass
def everydayphoto():
pass
schedule.every().day.at('10:00').do(everyday)
schedule.every().day.at('10:00').do(everydayphoto)
schedule.every().day.at('21:14').do(everynight)
schedule.every().day.at('21:14').do(everydayphoto)
def sched(num):
while True:
schedule.run_pending()
time.sleep(num)
thr = Thread(target = sched, daemon=True, args = (1,))
thr.start()