С точки зрения передачи аргументов все выглядит логично, программа понятия не имеет, где закончился один аргумент и где начался второй, поэтому всё разделяется по пробелу. Оберните строку в кавычки, тогда будет понятно, что текст в кавычках - один аргумент.
*args
тоже можно убрать в таком случае
async def say(ctx, phrase):
embed = discord.Embed(description=phrase, color=0x8A2BE2)
!say "Привет,
мир"