sed não trata \e como uma sequência de escape. Com o GNU sed e a maioria das outras implementações de sed lá fora, \e em um texto de substituição s significa apenas e . As únicas escapes de barra invertida que podem ser portadas em s texto de substituição são \ para significar uma barra invertida, \& significa literal & , \/ (onde / é o caractere delimitador) para um literal / e a para referências anteriores. O GNU sed e o BusyBox (mas não, por exemplo, o OpenBSD sed) adicionam \n para uma nova linha. Assim, a saída do seu comando sed tem um literal e .
No bash, você pode facilmente colocar um caractere de escape literal em suas variáveis desde o início. \e é uma das sequências de escape reconhecidas pela construção $'…' .
ColorOff=$'\e[0m' # Text Reset
BWhite=$'\e[1;37m' # Bold White