You need quotes around the entity ID state_attr('person.NAME', 'friendly_name'), otherwise it’s expecting a variable named person which you haven’t defined.
Just FYI, timestamp_custom already localizes, so there’s no need for timestamp_local.
If the person entity is the triggering entity you can just use:
{{ trigger.to_state.attributes.friendly_name }} was last updated at
{{ trigger.to_state.last_changed | as_timestamp | timestamp_custom('%I:%M:%S %p') }}