Why don’t companies use forex trading as a hedge for their foreign exchange risk instead of futures ? Forex is much more liquid than futures, easier to have access to all your positions anytime, customizable trades ?
The simple reason is that they don't need and can't use liquidity; they know when they expect their foreign currency denominated cashflows will fall (within a reasonable range of dates) so they buy futures with the intention of taking delivery at maturity. OK that's not entirely true because the futures normally deliver financially rather than as an FX trade but the maths shows that the outcome is equivalent.
One other key thing to consider is that the company wants to lock in the exchange rate in the future, at the time when the cashflow occurs, rather than the current exchange rate. It doesn't matter (much) whether that rate is better or worse than spot, it is the rate they need to make their exchange at.
So, what the companies are doing is hedging the exchange rate that their future cashflows will be exchanged at rather than hedging the exchange rate at the current time but there is another, linked, reason why they don't make the exchange at spot in the current period; they don't actually have the cash to do so right now. These future cashflows have not been realised yet so they literally don't have the cash to spare now to convert to or from a different currency to complete the trade that you are suggesting. They will only have the cash available at the date when the exchange needs to be done so how can they use that cash in the current period?