By default, any app that requests a certain permission can run automatically as soon as you start your device. Since Android doesn't offer a granular permission control system like iOS, this gets lumped in with all of the other permissions that you have to accept when you're installing an app from the Google Play Store, and you effectively have no choice in the matter.
Considering the fact that apps running in the background are a big draw on RAM and battery life, more apps running on startup means lower efficiency. That's why developer Gard Ynych created a mod that will add a settings menu to the Nexus 5 which allows you to select which apps will run on boot. So if battery life and performance are important to you, you'll definitely want to check this one out.
When the ZIP has finished downloading, it's time to boot your phone into custom recovery. From a powered-off state, press and hold the volume down and power buttons simultaneously. When Android's Bootloader menu comes up, press the volume down button twice to highlight "Recovery mode," then press the power button to select it.
Before you flash anything in custom recovery, it's always a good idea to make a fresh NANDroid backup. If anything goes wrong, or if you end up not liking the mod, the easiest way to get things back to normal would be to restore that backup.
But when you're ready to flash the ZIP, tap the "Install" button to begin. From here, navigate to your device's Download folder, then select the "autostart_menu.zip" file.
Next, just swipe the slider at the bottom of the screen to install the mod, then tap "Reboot System" when it's done.
When you get back up, head to your phone's main settings menu and you'll find a new "Autostarts" entry. In here, you'll see a list of all the apps that currently have permission to run at startup—just untick the box next to any app and it won't automatically run when you boot your phone anymore.
Some apps, like Android System and SystemUI need to be able to run on boot for your phone to work properly. As a rule of thumb, don't disable the startup permission for apps with "Android" or "System" in their name or an Android logo next to their entry.