Really good question to clear doubt of many who specially new to field.
Now, straight answer is yes you can for each step. But it is always advisable that you have single expected result so write your test step in such a manner that it is separate it out. The main reason for this is, if we have combine of multiple result set with single step then there is a possibility that few may pass and few may fail so we can justify whether entire step is pass or fail.
Lets consider your example only.
Test Step: Verify click on button X
Expected Result: Should redirect to login page and should change button color to blue (there can be multiple functional test result as well, its not limit to UI)
Actual Result: Redirected to Login page (PASS) but button color didn't change (FAIL)
So, now if we finally see the result of test step then its partially pass and partially Fail.
Rather, if you have done as below and it can be easily identified end result.
Test Step: Verify click on button X should redirect to login
Expected Result: Should redirect to login page
Actual Result: Redirected to Login page (PASS)
Test Step: Verify click on button X should change color to blue
Expected Result: Should change button color to blue
Actual Result: Button color didn't change (FAIL)
Hope, it will give you better idea of thought process and clear your doubt.
Thanks.