The acceptance scope for "Achieve war goals" in a subjugation war is the sum from the following parts:
- Demanding Surrender: -100 (constant)
- Vassalize Wargoal: -100 (constant)
- Penalty for demanding unoccupied systems: -10 x systems (optional)
- War Exhaustion: 0 to +100 (percent of war exhaustion of enemy)
- Occupation: 0 to +100 (percent of occupation of enemy systems)
- Relative Navy Strength: 0 to +50 (represents the strength of you navy vs. enemy)
You can see your current scope and its composition in the respective war window by hovering over the score number next to "Archive war goals". Example:
Your enemy will accept once the scope is > 0, which requires you to earn the sum of +200 points through war exhaustion, occupation and relative navy strength.
The navy strength is the important part here, because with a high number your enemy will surrender before he reaches 100% war exhaustion and/or before you have taken 100% of systems (e.g. 75% of systems plus 75% war exhaustion would work). On the other hand if your navy has equal strength you need to both have taken all systems and the enemy needs to have 100% war exhaustion to earn 200 points.
Number of ships factors into the war exhaustion, but does not directly effect the acceptance score.
In your case your relative navy strength might not be that high, so you really have to continue fighting until your enemy reaches 100% exhaustion.
Another factor that is often overlooking is that the occupation score includes the systems of any potential war ally of your enemy. So you will have to also conquer those systems to get to 100% occupation. If they are any allies they will be listed in the respective war window on the top right side.
Defending planets does not add to the war exhaustion of the defender (only to the attacker). So if you want your enemy to reach 100% war exhaustion quickly focus on space battles.