Are all touch-screens on modern devices multitouch capable on hardware level (if software supports it)?
If not than how to detect if touchscreen screen by itself is multitouch or not?
This is more or less impossible to answer without spec sheets for every Android device that has ever been created (within whatever timeframe you consider "modern"). Very broadly speaking, devices from major manufacturers over the last several years will typically support multitouch to some degree, but even that overall degree of support can vary between devices.
There are a bunch of apps for this. I'd say pick one and try it. If you want to try to verify the results, pick several and try them all.
If you want to check programmatically, checking the system features via the PackageManager object works, as far as i can tell for my device. This method doesn't give the exact supported number, but rather a categorisation as follows:
Depending on your task as hand, this might be sufficient enough, however GAThrawn's comment regarding low-tier phones makes me worry if it can be relied on that all those vendors actually set those values correctly before deploying the software.
Other than that, i don't know any way currently (but would also like to learn about one) - apart from maybe having the users test their devices as your app starts up, when the detected api level is less than 11 for instance.