Почему такие странные вещи с областью видимости?
У Вас 2 раза объявление const keys внутри одного блока (весь switch является одним блоком)
можно обернуть каждый case в свой блок, тогда будет работать
Просто обернуть каждый case в свой блок switch (data) {
        case 'buy': //как купить BTC
            {
                const keys = message.buy.key[lng];
                keys.chat_id = msg.message.chat.id;
                keys.message_id = msg.message.message_id;
                bot.editMessageText(message.buy.text[lng], keys);
                break;
            }

        case 'sell': //как продать BTC
            {
                const keys = message.sell.key[lng];
                bot.editMessageText(message.sell.text[lng], keys);
                break;
            }
    }
Ну и пиши default - никогда не знаешь, кто будет поддерживать твой код и как он может использовать твои конструкции :)