Вы должны каждый раз проверять результат выполнения функции, или вынесите этот результат в переменную. То есть вы ожидаете, что будет выполняться так:
{isAuthenticated().direct.role === "Директор" || isAuthenticated().direct.role === "Управляющий" || isAuthenticated().direct.role === "Бухгалтер" ? (
<Button
type="danger"
onClick={userId => this.handleClick(user._id, userId)}
>
Удалить Пользователя
</Button>
):("")}
Но по факту делаете только первое сравнение, а дальше идет просто проверка на строку, и т.к. она не пустая, то всегда получаете true
И JSX тут не при делах, это вопрос к пониманию JavaScript
И еще, рендерите не пустую строку в случае false, а null