If this is the case, then how come most of the common exchanges have a fixed bitcoin withdrawal fee (usually around 0.0004 bitcoin or around $20), which I am unable to change?
Just to expand on this point which hasn't been mentioned in the answers above:
Exchange have lots of other transaction which happen "behind the scenes" which you don't see, but they need to pay for. It's not as simple as just paying for a single transaction when you want to withdraw. Any coins you deposit are consolidated with coins from lots of other users in to a central hot wallet. Coins from this hot wallet will be moved back and forth to cold storage as necessary, or moved to separate hot wallets, or further consolidated, and so on. Then, when you want to withdraw, coins will be taken from this central hot wallet in a batched transaction to many users. So for each withdrawal transaction you make, there may be 3 or 4 (or perhaps many more than that) other transactions which have had to take place first. Most exchanges price this in to their withdrawal fees.
Having said all that, the withdrawal fees for almost all centralized exchanges are ridiculous and are pure profiteering. Most exchanges vastly overpay their transaction fees to keep their users happy, but even then, probably about 80-90% of the withdrawal fee you pay is just profit going in to their pockets.