Вы должны использовать двойные кавычки в вашей фактической команде sed
:
sed -i -e "${st},${en}d" $i
В одинарных кавычках нет расширения переменной.
Тот факт, что оно раскрылось в эхо,поскольку строка, которую вы выводите, окружена двойными кавычками.
И если, на самом деле, это только те числа, с которыми вы имеете дело, вы можете даже полностью отбросить кавычки (sed -i -e ${st},${en}d
).