Is only high demand causing the long transaction time or the high price of a bitcoin or both? And would adding more miners (supply) increase or decrease the transaction time?

I think bitcoin's theoretical on chain limits max out around 5 transactions per second. Increasing or decreasing total number of miners and hash rates does not affect this. A higher hash rate (total number of miners) makes it harder to execute 51% attacks (double spend), it doesn't increase or decrease transaction time.
Lightning network and off chain layers can execute around 7,000
BTC transactions per second. Which is where most are placing their hope for bitcoin scaling.
Longer than normal transaction times on chain can have various causes. In past years blocks were filled to a fraction of capacity, which may have hindered transactions. On chain transactions can also be DDOS'ed to a degree by spamming a large number of tiny micro transactions. It is also possible that legitimate network traffic can increase which both increases transaction times and fees.