Why the fees are getting so high now?
Because of a number reasons.
A. bitcoin is getting worth more $$$, which means that even if the transactions stay the same, it will still cost you more.
B. Scalability, more people are adopting bitcoin, which means more transactions, while there are only blocks roughly every 10 minutes. This means that people who want to have their transactions prioritized, need to pay more.
See the amount of current transactions in the mempool that are waiting for confirmation,
https://blockchain.info/charts/mempool-sizeLack of users and servieces that use SegWit as a way to transfer bitcoin, segwit offer off chain transactions which means lower fees and faster transactions I think fork occurred so that we implement and use it, but process is slow but we will get there.
Since blocks are full every single time you need to enter higher fee if you want miners to take your transaction into consideration and to prioritize it. Plus because of bitcoin hitting ATHs more people are doing transactions...
If you do not want to pay "high" fees and you want to do them on blockchain you could put a fee off and enter your transaction here 0.0001BTC/KB
https://pool.viabtc.com/tools/txaccelerator/ , viabtc offer in this way that they will try to process your transaction whenever they mine a block. Although I wouldn't suggest to spam them with transactions since they are really great pool that I love because they offer their service for free!