I think that the difference between those is, the Software Engineer (SE) is capable of create and design further than follow instructions or a specific language, and programmer (P) is like coding only maybe one or two languages but with a limit view of the application/services etc.
I think are similar but I see a SE with more potential to develop things, a P too, but I think his scope is limited to what he/she knows, no go further.