Because it top of stackoverflow question about edit caption add a little explanation.
bot.edit_message_caption( bot_id, message.forward_from_message_id, "new_caption", parse_mode=ParseMode.HTML)
It's not work because the function defenition looks like that.
edit_message_caption(self, chat_id: typing.Union[base.Integer, base.String, None] = None,
message_id: typing.Optional[base.Integer] = None,
inline_message_id: typing.Optional[base.String] = None,
caption: typing.Optional[base.String] = None,
parse_mode: typing.Optional[base.String] = None,
caption_entities: typing.Optional[typing.List[types.MessageEntity]] = None,
reply_markup: typing.Union[types.InlineKeyboardMarkup,
None] = None) -> types.Message or base.Boolean:
So you need stricly write named argument caption="New caption text".