This is happening because you already have data that is more than 30 characters so DB schema can not be altered to reduce the length. You can truncate those values first before reducing the length.
Alternatively, leave current data untouched and add validation using server script for this instead of changing length at DB level.
if not 0 < len(doc.address_line_1) <= 30:
frappe.throw("Address line 1 should be between 1 and 30 characters")