Когда файл открывается через open, то он не считывает содержимое файла в эту переменную, а возвращает можно сказать указатель на начало файла. При каждом считывании данных из переменной указатель перемещается до конца файла. Поэтому повторное считывание из той же самой переменной ничего не возвратит, т.к. указатель будет уже в конце файла.
Можно этот указатель "перематывать" в начало, с помощью file.seek(0)
file = open('pon.jpg' , 'rb')
file.read()
file.seek(0)
file.read()
Но в данном случае лучше просто считывать файл непосредственно перед отправкой:
@bot.message_handler(commands=['start'])
def first(message):
with open('pon.jpg' , 'rb') as file:
bot.send_photo(message.chat.id , file)