Getting studio monitors (or even just any speakers bigger than laptop speakers) is a step in the right direction. The sound needs to travel through some air! It’s definitely possible to mix using nothing but headphones, but it can make your life a bit difficult.
Anyway, I think the biggest problem with this particular track (regarding the sound) is that you’re trying to use the Spitfire Soft Piano as a regular/loud piano.
As one might guess from the name, this library is meant to be used as a - you guessed it - SOFT PIANO. Actually, very soft. That means that playing with high velocities and slapping a limiter on there to bring up the level will absolutely ruin the sound, which is what happened here unfortunately.
With ANY piano library, you would very rarely go above 80 in velocity, especially when making emotional solo piano pieces. 80 would be the LOUD notes, with most of the track around 50 down to 1 in velocity. Of course, this will vary a bit with each library, but in general, I find this to be the case.
Pianos tend to sound very bad if you hit as hard as you can (110-127) and that is generally just used for dramatic effect, or maybe when writing more lively music like ragtime.
The composition is not the most exciting, but I think you should start with learning how to get a nice sound from the piano. In this case, the solution is probably to first switch to another library if you’re going for a more clear, upfront sound. And make sure you’re keeping the velocities at low levels, and absolutely not 100% quantized note placement. If you compose using the pen tool, you need to tweak every single note (velocity and placement). Even two bars (that sound good on their own) with identical velocities and time tells us this was not played by a human. It takes quite some time to go through an entire piano piece. A “humanize” function can help you, but it won’t change the velocities in the right places, which is why only subtle use is recommended.
Soft beats can have velocities of 5! Barely audible, but still adding to the sound (kind of like ghost notes on a snare drum).
You also need to pay attention to the time if you want a human, live feel. No piano player would play an emotional solo piano piece at a constant tempo. It could vary a lot! But at least subtle variations are necessary for a nice sound. 116-124 if your original goal tempo was 120 for example. Like an arc.
Soft and loud notes can also give the illusion of slowing down or speeding up, which is why both of these techniques in combination will give a human sound.
If you find the need to tweak the samples A LOT (like heavy EQ, bringing up the level a lot or being forced to play at 110 velocity), it might be time to switch to another library better suited for the job.
Best of luck!
Oh, and to answer your question - yes, solo piano tracks are accepted, but they have to be really good and sound like a real person played them!