If my headphone has either lower(30ohms) or higher (400ohms) impedance can I use it or sound will be too low/high and it will be unsable?
Yes you can use either, but the high output impedance is not optimal, and is often the sign of a poorly designed device. To summarize one of the better write ups on this issue (which is worth reading):
The greater the output impedance the greater the voltage drop with lower impedance loads. This drop can be large to enough to prevent driving low impedance headphones to sufficiently loud levels.... As output impedance increases electrical damping is reduced. The bass performance of the headphones, as designed by the manufacture, may be audibly compromised if there’s insufficient damping. The bass might become more “boomy” and less controlled. The transient response becomes worse and the deep bass performance is compromised (the headphones will roll off sooner at low frequencies). A few, such as those who like a very warm “tube like” sound, might enjoy this sort of under damped bass. But it’s almost always less accurate compared to using a low impedance source.
Also, the volume higher/lower is being done by the device by changing the impedance or by changing voltage?
Volume control is implemented by increasing/decreasing voltage. On many common consumer devices, this is implemented by having an array of voltage dividers that apply a variable attenuation to the signal. The output impedance of the device is usually determined by the electronics that follow these attenuators and is therefore independently determined.
When it says 35mW what does it mean?
It means that into some unspecified load impedance the device can output 35mW. If you know the load impedance you could calculate the maximum voltage the device could output (P=V^2/R). If you don't, a low value like 16 or 32 ohms was probably used.
0mW no sound, 35mW volume max?
Correct, although you will only get 35mW into whatever impedance they tested with, so that number probably won't be correct for your load.