Бот не считает формулу. Как исправить?
if message.text == 'Бассейн №1':
        b1 = int(message.text)
Я с ТГ-ботами "на вы", но вот этот кусок выглядит как лютая дичь. 
Чисто логически, переводя на "человеческий", это значит:
Если текст сообщения выглядит как 'Бассейн №1', то пусть этот текст станет числом.
Не находите противоречия?
Как я понял, когда бот начинает работать, он обрабатывает зарегистрированные в нем хэндлеры, и ваш хэндлер lake перехватывает всё, кроме явно start и help, поэтому дальше него и не проходит. Я глубоко не вникал, возможно этот момент я неправильно понял.
Но, в принципе, можно обойтись и этим одним хндлером, просто правильно обрабатывать то, что в него приходит. А приходить в него должно либо выбор кнопки, либо число.
При выборе кнопки фиксируем номер кнопки и ждем число. Если пришло число - вычисляем, возвращаем, сбрасываем номер кнопки и всё сначала.

lake_number = 0


@dp.message_handler()
async def lake(message: types.Message):
    global lake_number
    if message.text == 'Бассейн №1':
        await bot.send_message(message.from_user.id, 'Введи расстояние до воды №1.')
        lake_number = 1
    if message.text == 'Бассейн №2':
        await bot.send_message(message.from_user.id, 'Введи расстояние до воды №2.')
        lake_number = 2
    if bool(lake_number) and message.text.isdigit():
        b = int(message.text)
        if lake_number == 1:
            h = 8 - b
            v = (h / 3)
            level = v / 16000 * 100  # тут в формуле где-то ошибка, поэтому я ее просто убрал
            await bot.send_message(message.from_user.id,
                                   str("Количество:" + str(v) + "м3. Глубина:" + str(h) + "м. Наполнение: " + str(
                                       level) + "%"))
        if lake_number == 2:
            h2 = 5 - ((b - 1) * float(0.7))
            s2 = (90 - (b * 0.52)) * (100 - (b * 0.52)) / 2
            n = sqrt(2500 * s2)
            s1 = 1
            g = s1 + n + s2
            v2 = (h2 / 3) * g
            level2 = v2 / 17000 * 100
            await bot.send_message(message.from_user.id,
                                   str("Количество:" + str(v2) + "м3. Глубина:" + str(h2) +
                                       "м. Наполнение: " + str(level2) + "%"))
        lake_number = 0
        await bot.send_message(message.from_user.id, "Попробуй еще...")