درود،
من تونستم با کمی تغییر در ماکروی \poemno
شما خروجی مناسبی بگیریم.
تنها تغییرم استفاده از \linewidth
بجای \textwidth
است:
\makeatletter
\let\@poemlineno\@empty
\newcommand*{\poemno}[1]{\gdef\@poemlineno{[#1]}}
\newenvironment{mytraditionalpoem}{%
\ifvmode\else\par\fi
\everypar{\rlap{\hskip\linewidth\@poemlineno}}
\begin{traditionalpoem}}{%
\end{traditionalpoem}}
\makeatother
اینم خروجی که بعد از این تغییر میگیرم(البته فونتها رو تغییر دادم):

در مقابل خروجی که قبل از این تغییر میگیرم:

امیدوارم که این راهحل مشکلتون رو حل کنه.