Чтобы кнопка оставалась под сообщением, можно использовать параметр reply_markup в методе edit_text и передавать в него тот же объект InlineKeyboardMarkup, который был создан при инициализации кнопки. Также можно использовать параметр disable_notification=True, чтобы убрать уведомление о сообщении с кнопкой.
mykb = InlineKeyboardMarkup(row_width=1)
mybt = InlineKeyboardButton(text="Обновить курс", callback_data="refresh")
mykb.add(mybt)
@dp.message_handler(commands=['start'])
async def cmd_start(message: types.Message):
await message.reply(get_value(), reply_markup=mykb)
@dp.callback_query_handler(text="refresh")
async def send_welcome(query: types.CallbackQuery):
await query.message.edit_text(get_value(), reply_markup=mykb, disable_notification=True)
Также не забудьте добавить обработку ошибок в случае, если сообщение, которое нужно отредактировать, было удалено или изменено другим пользователем.