Причина, по которой это не работает. Это то, что вы перебираете каждую роль и используете один и тот же канал. Затем установите разрешение отключить кого-то со всеми ролями на сервере, с тем же каналом. Это приводит к тому, что каждая роль отключается в одном канале:
muted = discord.utils.get(ctx.guild.roles, name='Muted')
for muted in ctx.guild.roles:
await ctx.channel.set_permissions(muted, send_messages=False, read_messages=True, read_message_history=True)
Другая проблема заключается в том, что переменная muted скрыта от переменной muted, созданной для l oop. Из-за этого затенения первая строка не будет использоваться. Таким образом, полученная вами приглушенная роль вообще не используется.
В следующий раз вам нужно будет выбрать роль. Но затем выполните итерации по каждому каналу гильдии вместо ролей сервера (затем примените разрешения этой роли ко всем каналам.):
for channel in ctx.guild.channels:
channel.set_permissions(muted, send_messages=False, read_messages=True, read_message_history=True)