Enqueue script not working

Your upload.js is not being added because there is already an script added by wordpress as default for the handler upload.

So I suggest you to change the handler. If not, you can de-register the upload handler registered by wordpress

wp_deregister_script( 'upload' );

and then register yours as usual. But I highly recommend you to not de-register defaults function(which will lead to lot of conflict in upload of wordpress), so instead just change your handler.

@s_ha_dum the upload is inserting for you because the upload handler is not in latest wordpress versions. List of scripts registered by wordpress as of v3.8. So Usman Ahmed Mani might be using an old version of wordpress which has that upload handler