... but it nearly takes 2-3 minutes for loading those background
services at startup
You can set them to Automatic (Delayed Start) (or perhaps even Manual) instead of Automatic in
Start / run / services.msc
You cannot automatically set different services to launch based on the user logging in. You can change the user account a service uses to start up, but it will still start up with the system if it's set to Automatic (it'll just run with different credentials).
What you can do is set the services to Manual, then add a batch file to the Startup folder or
HKCU\Software\Microsoft\Windows\CurrentVersion\Run registry key which will launch the services you want for that particular user using the
net start or
sc start commands.
Note that the services will stay running even after logging off. If that's a problem, you can go to
Start / Run / gpedit.msc / User Configuration / Windows Settings / Scripts (Logon/Logoff) and add scripts that will stop the services started for that user.