wp_enqueue_scripts called twice?

I had this same issue. I logged the request URI and discovered that the additional call was for a file that didn’t exist (that’s what I get for copying and pasting a bunch of code from one project to another). I created a file at the expected name and location, and the additional call to my wp_enqueue_scripts hook function went away.

So, it seems like one could conclude that a 404 causes a new full request that goes through the full chain of setup functions.