It looks like you've authorised the right accounts for your geth nodes (otherwise you'd be getting an error message about the account being unauthorised, rather than unlocked) - so that's a good start.
Do you have multiple accounts on your geth nodes? if so it may be the case that the authorised sealer accounts are still locked. Type the following into your geth console:
and if more than one address comes up then that may be the issue - simply unlock the correct account. Alternatively, it may be that your accounts were correctly unlocked but have re-locked over time - in order to keep them open use the following:
personal.unlockAccount(eth.accounts, "<password>", 0)
Assuming your first account listed under
eth.accounts is your sealer account. The '0' in the phrase above refers to how long to keep the account unlocked for in seconds - a non-zero figure here can be used to keep it open for a set period instead.