assemble will build your artifacts, and build will assemble your artifacts with additional checks.
build depends on assemble, so build is sort of a superset of assemble
You can have a look on the tasks that will be executed by using the --dry-run flag. e.g.
gradlew build --dry-run
You will see that apart from assemble also lint and test will be executed.