18/18 На проверку логики (кроме внешнего вида)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Испытание: редактирование профиля</title>
    </head>
    <body>
        <h1>Профиль</h1>

        <form action="https://echo.htmlacademy.ru" method="post" enctype="multipart/form-data">
            <label>
            Ваш пол:
                <label>
                    <input type="radio" name="gender" value="male"> Мужской
                </label>
                <label>
                    <input type="radio" name="gender" value="female"checked> Женский
                </label>
            </label>
            <br>
            <label>
            Месяц и год рождения:<br>
                <select name="month">
                    <option value="january">Январь</option>
                </select>
                <select name="year">
                    <option value="1990">1990</option>
                </select>
            </label>
            <br>
            <label>
            Знакомые технологии:<br>
                <select name="technologies" multiple size=4>
                    <option>HTML</option>
                    <option selected>CSS</option>
                    <option>JavaScript</option>
                    <option>Node.js</option>
                </select>
            <br>
            </label>
            <label>Фото:
                <input type="file" name="choose file">
            </label>
            <br>
            <input type="submit" value="Сохранить">
        </form>
    </body>
</html>

Не надо оборачивать два label в один общий. Правильнее будет так: <label>Ваш пол:</label>

Почему?

Потому что в этом нет смысла.

Но если обернуть в один , то будет меньше кода.
Можно конечно и в отдельный и тогда надо будет его связывать с помощью id, но лично мне проще все в общий label и ниче связывать не надо.

В данном случае вы делаете просто обертку для текста. Ни к какому конкретному полю эта надпись не относится.