- People wouldn't be able to stay mentally sane. In closed areas, people would go insane.
There are some ways to deal with this. With the advent of VR, one solution could be to make people experience roomier areas than what they're used to.
Or, you know, medical sedation. Depends on how practical minded you are.
- The HUGE amount of fuel needed to make the journey would leak out over time. Also, a ship that requires so much fuel would be difficult to design and build.
Given how space doesn't require aerodynamics, any fuel tank of any size, shape and mass could be strapped to the craft.
Leaking of fuels is relevant, but only for some types of fuels. I forget the name of the effect of leakage, but some fuels leak over time, others don't. I looked this up a few years ago when I was very much into playing Kerbal Space Program :)
Also, assuming a one way trip, the fuel would only have to not leak for about a year (probably less). Which is feasible, even if accounting for a minor amount (e.g. 5%) of fuel leaking.
- A ship that big wouldn't make it off the ground due to size and weight.
It wouldn't need to. You can construct a ship in orbit. I point back to Kerbal Space Program for this, as I've done it multiple times.
Slowly building a ship in orbit around Earth would be an engineering challenge and will progress slower than on-Earth building, but there are so many ways in which a ship can be simplified.
We do not have to account for aerodynamics anymore. No way for the ship to survive air pressure, be attached to a launcher vehicle, ...
By removing all these engineering challenges from the puzzle, the resulting ship can be simpler than a ship that would still need to be launched.
Also, it being constructed in orbit means you can basically make the ship as large as you want it to be. You are only limited by the amount of resources you're willing to ship to orbit.
- Humans wouldn't be able to set up a reliable system to grow crops before everyone starves to death.
Assuming in-orbit construction, it's possible to first set up the habitat and start the "space farming" while the rest of the ship is still being constructed.
This seems the way to go, as you can then use those crops to feed the builders instead of having to spend more rockets, continually bringing food up to the builders.
Once arrived in orbit around Mars, the habitat probably wouldn't survive entering and landing. But a smaller pod can go for the initial landing, and from then on pods with already full grown plants can be sent down to be added to the greenhouse that the initial landing party built.
Assuming you only send stuff to the surface, and not from the surface to orbit, this can be done by timing the release of the drop pod correctly so it always lands near the surface colony. It requires little to no energy, only timing.
This could be done by humans staying up on the orbiting ship, or e.g. a scheduled computer system that ejects pods when in position (or by radio request).
This way, we could already have full grown plants that feed the colony by the time we arrive (or even just leave Earth's orbit).