An age old conversation and quite frankly often used interchangeably (wrongly).
For anybody still curious, there is indeed a difference between a programmer and a software engineer.
A programmer is simply someone who “can code”. A programmer is able to understand software requirements and is able to convert the requirements into 1s and 0s for an end user.
A software engineer on the other hand is someone who can not only code, but has sufficient project and people management skill in their skillset to interface with product owners( who sometimes only have an idea an no way to define the requirements), and are able to handle an entire software project from idea to building and working with a team until delivery.
Ideally these people can code but often times, this is not a key priority for them. the key priority is the deliver a successful project.
If it helps, thinking os a programmer as a tailor and a software engineer as a fashion designer.