For future reference, Kentico support provided the following solution:
Generation of an email from the template is done in the background without live site context. Therefore, localization macros use the default culture.
You can use GetResourceString macro method with following parameters (more details about this notation can be found in docs.kentico.com/display/K8/Registering+custom+macro+methods in step 7 of macro method definition):
[MacroMethodParam(0, "resourceStringKey", typeof(string), "Name of the resource string.")]
[MacroMethodParam(1, "culture", typeof(string), "Required culture of the translation.")
This means that culture code can be passed as second parameter of the method.
You can obtain culture code from LocalizationContext or from preferred culture of the user with lost password. In case of this email template, the user object is registered under macro field "User".