neem is a mild deterrent and not much effect of killing anything. If it doesn't have the active ingredient, it's called clarified neem or simply won't show the azardirechtin or however the fuck it's spelled, lol... if you don't see a word similar to that on the label, it is likely clarified neem oil and does not have the part that actually works against pests in an active way (screws with their nervouse system or wahtever is akin to that in a bug)
Bti. It's a bacteria. if in NA, it's brand will be Summit Mosquito bits or dunks and i'm sure there may be other options. It'll take 2-3 weeks to control an ongoing problem. Use it pre-emptively and never have a problem.
Gnats come with the substrate more times than not. They don't spontaneously manifest. If you keep a clean indoor area and not watering frequently, it's not your fault.
bti will kill larva. larva is what damages the plants. the mature gnats don't really cause any problems but are annoying and nobody wants bugs flying around their home. Leave it untreated and they'll decimate the root system. Traps along won't do a thing to help. Neem won't kill them. Go with Bti. It's been used on the worlds food crops for a century or more.