Как сделать так, чтобы бот отправлял текст в таком формате который я ему отправляю?
caption отдаёт только plaintext (без форматирования). Вроде как есть свойство-список caption_entities, содержащее сведения о форматировании.
Либо попробуй указать это свойство при отправке сообщения, параметром entities = message.caption_entities, либо разбирай элементы этого списка, ищи форматирование, и вставляй его вручную (там указывается позиция в строке, где форматирование начинается/заканчивается).
Полное решение:
@bot.message_handler(content_types=['photo'])
def get_photo_text(message):


    photo = message.photo[-1].file_id

    bot.send_photo(message.chat.id, photo, message.caption, caption_entities=message.caption_entities )

Вот скрин:
