There are programs, that can't use more than 1 core.
There are programs, that can use more than 1 core but only if you tick the option
There are programs, that directly use more than 1 core.

Are there programs, which can't use more than 1 CPU?

By CPU, I mean, entire CPU. Like, the real easily seperatable boxes. If I used 2 CPUs on 1 motherboard and all would be supported by OS, etc. etc. etc. .

The programs that would use more than 1 core (2nd and 3rd from list above), would be able to reach 2nd CPU?

I suspect that you would need a BIOS option as well as operating system support for that.

This kind of thing is entirely up to your operating system. Threading is meant as a way to split your program execution up to run on multiple CPUs/cores for reduced time of execution, but it is up to the operating system if it does that. All your threads could end up running on the same core, which will not reduce your execution time. Check the technical documentation of your operating system for this kind of information.