couple of notes :
it is preferred to hand draw a schematic over a fritzrg and on any schematic, you should list the parts, not just show a diode.
and speaking diodes.... you appear to be using a 1N4004 general purpose and you note you want motor speed control.
these are at odds with each other. the general purpose diode has a slow recovery time. PWM for motor speed control is very fast.
the purpose of the diode is to prevent back EMF from spiking your system due to the high voltage.
The motor will be spinning and act like a generator. using a diode will prevent that generated voltage or spike voltage from zapping your electronical bits.
however, pwm is very fast, the 4004 is very slow. you would be better to use a generic schottky that has twice the amps of the motor and about 10 times the voltage rating of your power supply.
about the transistor. a transistor requires power from the signal. is will use the amps input on the base and then allow a proportional amount of amps to pass from the collector to the emitter. your Darlington is very efficient and you only need a fraction of the amps in to get a large amount out.
the transistor is a Darlington pair witch means one transistor if being used to power on a second transistor. you have to power the first one and it will amplify the power to the base of the second one. this means you have to supply a much smaller current to your Darlington than if it were a single transistor. the transistor can be thought of as a current amplifier. you have to give it x amps it is will allow X times amps to pass.
Transistors can deliver power in proportion to the input. feed it a tiny bit, it will output a much larger value, but in proportion. this is called the linear range. if you feed is 0.01ma it might output 10ma, feed it 0.02 and it would output 20ma. when used in the linear range it acts like a resistor and can get HOT. most often, we use them as switches. for that we want to deliver more base current so that the output is well past the load requirements. this is called saturation and offers the lowest resistance, and that means although it is handling power and has some resistance, it will not get as hot as if it were being used in the linear range.
consider also that any current you apply to the base is then sent to the emitter. so it will be used. in one aspect, you can consider it a short to ground. if you connect an output pin from your arduino without a resistor, it could draw too much power and damage that pin. We do not want to just dump 20mA into it and we want to calculate the needed / desired current.
typically we say to drive a transistor into saturation hard. often twice the needed current. this is because as the transistor heats up, the values change and by the internal heating, and not driven hard into saturation, it can come back into the linear range and then act as a larger value resistor and start to self heat, failure of some sort ensues. either circuit failure or chip failure. you will find curves on the data sheet that help with this.
when someone says their transistor are getting really hot, my thoughts go to not driving it into saturation properly, or wrong selection of a part. a BJT has internal resistance and is a current amplifier. an FET does not consume current, but uses voltage. an FET has a MUCH lower internal resistance, so it can handle a much higher current without getting as hot.
that said, I would recommend you read up on transistors and how to properly feed them.
a note here is that the gain is hFE when used for a DC load. and using small letters, hfe is NOT the same.
hfe is for small signal current gain, think small letters, small power
hFE is for high current, and is what you want to use when using a transistor as a switch.