The \Magento\Customer\Model\ResourceModel\Customer\Collection class has no method setWebsiteId. If you want to filter customer collection by website id you must set website_id as a filter field:
/** @var \Magento\Customer\Model\ResourceModel\Customer\Collection $customerCollection */
$customer = $customerCollection->addFilter('website_id', $websiteId)
You can achieve by removing the block from customer_account_index.xml
Create customer_account_index.xml layout file in your custom module or theme directory and add below code:
<referenceBlock name="customer_account_dashboard_address" remove="true" />
At Vendor\Module\Observer\NewCustomer, observer you need to use
$editedCustomerEmail = $observer->getEvent()->getCustomer()->getEmail();
$editedCustomerEmail = $observer->getEvent()->getEmail();
at customer_register_success event's Observer, you can get Customer data using $observer->getEvent()->getCustomer().
You will need to remove all generated files. The problem is the scope has changed but Magento is not updated about this yet.
Running bin/magento setup:upgrade will clear the generated folder for you. Depending on what version of Magento you are on this will be in var/generated or generated/
If you have Magento in a "compiled" mode you will have to run bin/...