One possible explanation to this could be that the workitem text is saved in the language it was run in the swwwihead (the text itself - without the variables) when reading it in the translated language however the text is calculated, so the &level& value is determined from the final &level& value ('03') for all steps.
Have you tried running the process in English (approvers login language) seeing how the text is displayed then?
I don't remember having this problem however, and I usually work in 2 languages. but it's possible I've missed it because the users usually work in the same language. you can try:
- copying the standard task and translating the task's title, transferring the &Level& to the task container and reading from there, this might not necessarily work since there will be 2 titles. but it's a good idea to have the &level& in the task container since it can help in reports.
- Using a subworkflow in the approval loop (different values will be stored in the sub-workflow container for every approver)