My personal view (Might not be the answer you seek):
Why Android consumes more power?
Android applications utilize Google's highly optimized Java Virtual Machine. So if you are looking from out side, an Android application is run inside a virtual machine which is inside the real machine. So you actually have two machines instead of one.
Everytime an android app produces an instruction, it should be translated to into the native machine code from an intermediate code and is then executed by the CPU. This is an extra step which consumes power.
Ubuntu Touch's Internal Nature
Ubuntu touch has no Java Virtual Machine overhead. It can directly run binary programs compiled for the CPU, completely eliminating the need of translation. So we know the power consumption should be less in Ubuntu Touch for a certain extent.
However most Ubuntu Touch apps so far use an interpreter called
qmlscene which does something similar to Java Virtual Machine. Those apps aren't in binary format but human readable code. The code is interpreted to CPU instructions at run time.
qmlscene's impact on performance is less than Java runtime, because no virtual machine is involved. It is not noted to be a power hungry system as QT developers have made it extremely efficient.
There are many other reasons for extra power consumption as well. It includes 3G/4G usage management, background services etc. We ignore such facts, because they get different from one device to another. Those facts are at least controllable by the operating system for a certain extent.
Ubuntu touch will most probably consume less power than Android. At the time of writing it is not yet optimized to do so. We will have to wait until phones come out.