If after a couple minutes the bike should run without the choke.
This usally means your carb aren't clean enough. The idle circuits are plugged up. When you use a spray can carb cleaner, remove the idle mix screws, put the tube from the carb cleaner down in the hole. Now when you spray, cleaner should come out the pilot jets and the tiny holes by the top of the throttle plates.
If the spray won't come out, the passsages are blocked.
Take the twist tie of a loaf of bread, peal off about 1/2 of the cover off one end. This reveals a very thin wire. this wire is soft so it won't hurt anything if your careful. Use this wire to carefully probe the holes by the throttle plates. Spray more, If you have an air compressor blow through with air. This helps break up the blockage.
This guide was written with the XS650 carbs in mind but your BS34's are almost identicle to the XS650 BS34's.
www.amckayltd.com/carbguide.pdf reading this will help you understand your carbs better.
One way to check for air leaks around the carb holders is to spray around them with carb cleaner, WD40 even a spray bottle full of water. With the bike idleing spray round the carb holders. Listen for changes in the idle. It may increase or decrease. Any changes indicate leaks.
There are several brands of carb holders, The ones Mike's XS sells, unless they have improved them, don't hold up well with ethanol fuels. Tour Max are the last I bought, very good. Yamaha may still be able to get them. JBM Industeries builds a good one for the XS650's, Don't know if they fit the XS400.
Leo