You can’t just use templates wherever you please. Templates only work on template fields. Typically templates cannot be done in the frontend section, i.e. lovelace. The best way to figure out if you can use a template is to look at the docs or if the field name has _template in it.
You cannot show last changed on this entity-button card. It just isn’t possible at the moment. You can however switch to the custom:button-card and use JS templates to place the last_changed in the name. A defualt configuration option for the custom:button-card is to display last-changed info if you use the field show_last_changed: true.
The entity state returns the following value: 10/6/2020, 6:42:05 AM. Its not in exactly the same format but it is of type timestamp. I have tried your recommendation, but still no luck.
That’s not a valid string timestamp for as_timestamp. You need to use strptime. And because you’re using strptime, you’ll need to account for an unavailable sensor.
value_template: >
{% set v = states('sensor.poolsense_last_seen') %}
{% if v not in ['unknown', 'unavailable'] %}
{% set fmat = "%m/%d/%Y, %I:%M:%S %p" %}
{{ as_timestamp(strptime(v, fmat)) | timestamp_custom('%a, %d %b %H:%M', false) }}
{% endif %}
availability_template: "{{ states('sensor.poolsense_last_seen') not in ['unknown', 'unavailable'] }}"