With arp -a, I get a mix of static host names from local DNS services shown, and DHCP-addressed boxes with no host names shown, and a box with an Intel MAC using a self-assigned IP address¹.
Some things to check include the three places macOS sets the names to be used by the Mac host:
sudo scutil --get HostName
sudo scutil --get LocalHostName
sudo scutil --get ComputerName
# then if appropriate...
sudo scutil --set HostName HostName.example.com
sudo scutil --set LocalHostName HostName
sudo scutil --set ComputerName FriendlyHostName
Also check your local DNS server² translations, and check your DHCP server and router too, particularly checking for any router firmware updates or router oddities. arp uses the same DNS resolution as do other command-line tools, though confusingly macOS uses its own separate DNS caching and the command-line tools bypass this cache. The name shown by arp can be populated from the DHCP server, if that's configured and able.
There's one other similar discussion, albeit without resolution: Hostname changed to "Mac.lan" for no reas… - Apple Community
¹Hmmmmmmmmm. Off to look at that.
²This if a DNS server is running locally, and some of those poking at arp can be running local DNS servers.